pdTextBox: initial draft

Uggggh, this is an unpleasant project.  The text box is nowhere near
ready for primetime, but I've completed a sufficient amount to commit
what I have.  (Because I am very likely to break it in the course of
adding other important features, as usual.)

For testing purposes, I've created a dummy instance of the text box in
the Tools > PD Developer Tools > Theme editor window.  Click the green
box and start typing/pasting/etc.

One of the really nasty problems with Unicode-aware API windows in VB6
involves keypresses.  As discussed in the code, keypresses involve the
parent window of a control, so that things like accelerators can be
handled properly.  This causes problems for Unicode-aware edit boxes and
other windows, because any Unicode characters entered via IME means (for
example, an on-screen keyboard set to a locale like Kazakh) first get
forwarded to VB's default message pump.  That message pump forcibly
converts all Unicode to ANSI as part of the TranslateMessage step, so
our beautiful little Unicode text box now gets ???? instead of the
actual keyboard characters.  ARGH

I've managed to work around this by using custom dispatch code, but
there are some cases that I cannot easily test and do not know how to
handle.  (Ligatures formed of multiple entry points, in particular.)
But aside from those, which are on my to-do list, this initial
implementation of the text box should handle all IME entry mechanisms
correctly, which is a huge improvement over all the other VB Unicode
textboxes I've encountered.