Missing touchcancel protections

When using preventDefault of touchevents in parallel event handlers
the touchcancel event doesn't always trigger, leaving the touch
events in an inconsistent state. This fixes two errors resulting
from this:

- Phantom swipe events
- NPE on singleTap trigger