Implement toolbar docking

(Relates to #93)

Using the Window menu, toolboxes can now be changed from floating to
docked.  Docked behavior should identically mirror the original MDI
implementation, with the toolbars automatically aligning on the left and
right sides regardless of the main window's position or state.

Managing all this window data ourselves proved to be an interesting
exercise, as VB does a lot of window management behind the scenes, and
it's not always obvious what things it will handle itself, particularly
when it comes to repaints.  For that reason, the current code state errs
on the side of "repaint any time we change something", which causes more
flickering than I'd like - I will optimize this after additional
testing.

Similarly, the code is quite well commented, but not very well
organized, as it's in the "just got it working" state.  After
implementing docking/floating for image windows, I will clean up the
window manager into something a bit more clear and usable.

That said, I'm quite excited to be able to provide an identical
experience to the old PD, effectively mimicking MDI using custom code,
while also providing options for true single-window and multi-window
management.

(Note that a bunch of my custom controls are also being updated by this
commit - VB's ClipControls property does not interact well with all our
custom redraw code, so I've disabled it universally.)