Implement touch events and various other protocols (orientation, logging, equals, and active element)

This starts my implementation of the html5 protocols with touch events.

EventFiring classes also updated to take into account new mouse and keyboard interactions.