pdInputMouse: improve reliability of cursor swaps
Move all flicker-free painting bits to a dedicated class

This new pdWindowPainter class is going to make flicker-free UC creation
much easier.  I still have some controls that rely on AutoRedraw, while
others do their own flicker-free painting via subclassing, while still
others flicker uncontrollably because I haven't sat down and solved this
problem properly.

This new class will finally allow me to unify all painting bits under a
simple, lightweight class, so I don't have to mess with so much window
garbage every time I create a new UC.

I have tested this new painting class under every conceivable
OS/theme/window setting combination I have access to, and it performs
admirably under all, so that's a nice victory.  Classic Theme and XP
users in particular should have a much better experience with this
update.
About dialog: fix strange disappearing cursor issue
Move various UCs to new flicker-free painting class
New user control for toolbox buttons

I'm going to replace jcButton with two different controls: a
toolbox-specific button, and a traditional command button.  This may
seem ridiculous, but it actually saves me quite a bit of trouble to keep
them separate, as their behaviors are more different than they seem at a
glance.  (They also render differently, as toolbox buttons adopt the
backcolor of their container automatically.)

Anyway, the toolbox button control is now working well.  I have only
updated the primary toolbox (and not the open/save/undo buttons, which
still use jcButton), but other toolbox button instances - like the
canvas status bar - will be updated soon.