Add support for touch events
Client-side the approach is a managed touch object rather than passing the touchid around. This is intentional, it allows for a stackable API in the future if we need to add things like pressure or major/minor to it.
On the server side the touches are managed through the event object anyway, so we don't need the same abstraction there.
Edited by Peter Hutterer