Removed joystick support from mp::InputBinding.  I'm going to be making some changes to get
this into gleam and I don't feel like bothering with this.  I'll add it back in later if
I'm still working on this project in a couple years.
Moved InputBinding from mp to gleam.  I still haven't gotten gleam to use it yet, though.
Commit of partially finished changes for the sake of preserving my
sanity.  Make sure this gets rebased before the push:

The general gist is that InputBinding is now used by gleam via the
EngineInterface (which I intend to get rid of soon).  the key press callback
has been replaced by two separate callbacks: one for text and one for
"control buttons" like arrow keys and backspace.  Also InputBinding now
tracks text independently of bindigns (ie on a separate queue) so that
you can read text without binding every single ASCII character.  There are
a couple other changes too but these are the most important ones.

It's kind of a mess because I didnt think about the arrow keys until it
was too late (originally I planned on implementing the del and backspace
keys by sending their ASCII valeus to the widgets), but I'm sure I can
work out the rough edges and make it suck less, especially since I'm
going to get rid of EngineInterface soon (or merge it with WindowManager
somehow, IDK).
Fixed the way that gleam::TextEntry gets the cursor position so that
it uses the advance of each character in the font instead of the width.