Add a Hotkey class.

The SDL 1.2 API makes it unreasonably difficult to convert between codes / names / unicode.  This
includes the SDL symbol table so we can do these
conversions ourselves.
Use the new hotkey logic. Fixes #3779.