Mouse things

These commits implement SDL.Input.Mouse module and adds some more Haskellish types to work with in mouse-related events.

This is part of SDL's partial multi-mouse support. The value is either `SDL_TOUCH_MOUSEID`, or the mouse instance.

The mouse instance can be non-zero if you have multiple mices attached to your computer.