Add support for touch/mouse events.

Abstracted touch/mouse events with future support for gestures.