Fix test for restrict options
Do some JSHint
Use isElement function to test if obj is Elemnt

For IE8
Improve snap and correctness of start event coords

Fixes bug with snapped start event coordinates being incorrect and also
simplifies some unnecessary complexities involving snapping and firing
move listeners.
Report more accurate pointer velocity

by using the 2 most recent user gesturechange/moucemove/touchmove
event coordinates.
Fix setEventXY definition and use for GestureEvent
Create fewer objects in getPage/ClientXY