Makes hammer event's srcEvent equal to currently handled DOM event

Prior to this change, the srcEvent included in dispatched hammer events was the last event that had touches. As such, events triggered on touchend (such as tap) would have their the touchstart event as their srcEvent.  This is problematic because the touchstart event has been long-ago propagated and handled by the browser so calling `event.gesture.preventDefault()` or other methods affecting the srcEvent had no effect.

This change continues to use previous events for touch locations in the case that the current event doesn't have any but it otherwise uses the current DOM event (e.g. touchend) as the srcEvent. The result is that calling `event.gesture.preventDefault()`

This addresses #237 since it allows preventDefault to be called on touchEnd.