Clarifying this idea in the light of responses, and further suggestions:
As this is a button beneath the edit box it would have to be fully, properly
written into the PHP that is MediaWiki - i.e. this function would arrive
with a new version of the software. So small additions to the framework that
make it work seem okay to me.
The button only appears for a logged in user. When you click it, the page
saves to "User:Example/Pagename" rather than "Pagename".
To streamline this Drafts system, it could also then save into the user
subpage a magic word like "__DRAFT__" which, on any page, forces the
appearance of a new tab/toolbox option like "Finalise".
Clicking Finalise is then equivalent to having done all three of these at
once:
* Editing the original page
* Pasting the new drafted text into the edit box
* Clicking "Show changes" to display a diff
In the absence of this "Finalise" button and/or "__DRAFT__" magic word, the
original "Save Draft" button could simply prepend the saved user subpage
with automatic links to edit and diff the original article (with exact text
specified in a System Message).
Or in the simplest incarnation, "Save Draft" just saves to a user subpage
and that's it.
Whatever the case, this function would be infinitely useful because edits
are often longer than a single session, but not necessarily longer than the
time between revisions of an article. It would simply automate what a lot of
people already do anyway (i.e. end up working offline), and would encourage
more high-quality focused work on articles.