Adds support for the SDL2 touch api

This change implements a subset of the SDL2 touch API.

Items covered include:
- Emscripten applications can now receive touch events
- Emscripten applications can now receive touch events that originated with the mouse (each touch has a touchID, which identifies the device that created it. There is a special reserved ID for mouse-created touch events)
- Emscripten applications now use SDL2 structures for Mouse(Button/Motion)Event (these are backwards compatible).

Omissions:
- There is no timestamp on the events.
- The methods in SDL_touch.h are not implemented (just SDL_events.h)