Input API

This adds API from the SDL_mouse.h, SDL_keyboard.h, and SDL_touch.h headers. I've been unable to ensure the touch API works correctly due to a lack of testing environment and the cursor API appears to work correctly but does not actually change the cursor on OS X. I'm not sure if that is a bug in SDL2 or something the binding is doing wrong but I seem to be able to create and fetch cursors correctly otherwise.