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.
Merge branch 'master' of github.com:polarina/sdl2
polymorphic Keymod patterns