tests for event.preventDefault corner cases
refactored touch interaction
refactored common code between mouse and touch handling