Make key modifier constants polymorphic

The SDL2 library doesn't use them consistently; for example in the
SDL_Keysym struct, they're referred to as a Uint16.
Remove Keycode export from Types

We no longer need the backwards-compatibility.