Big interface update

(Relates to #93)

Apologies for the huge commit, but many of the problems solved by this
commit were interconnected, so I opted for a "solve them all at once"
approach.

Lots of minor updates to window handling in this commit, including a new
approach to controlling top-most windows (necessary due to the
complexity of many possible windows on-screen at once).  Windows makes
detailed window management a nightmare, but I think our current
situation is "good enough".

The only outstanding bug remaining (that I know of) occurs when
dock/float status is changed many times in a single session.  For
reasons possibly relating to http://support.microsoft.com/kb/192254,
top-most window settings eventually become unsettable, and window
layering gets jumbled.  This is really only noticeable with *docked*
toolbars and *floating* images, if image windows are floated over a
toolbar, then the toolbar beneath is selected (it will jump over the
window).  I'm not sure how best to handle this, and multiple attempts at
debugging have failed to completely eradicate the problem.

Also, ignore the top blue bar for the moment - that's a placeholder for
the image tabstrip, and exists only so I could test layout issues prior
to actually implementing the bar.