Improve inertial scrolling

[This post](http://stackoverflow.com/a/3628949/362702) claims that in Apple's
kinetic scrolling, "The velocity of the touch is measured at the exact moment
that the finger is lifted."

I tried both this "final velocity" approach and the
"max velocity" approach proposed above. Both allow a stronger "fling" than
the current "average velocity" approach, but "max velocity" can feel wrong if
you slow down at the end of your swipe.

But because the "final velocity" approach uses just one data point it can be unstable,
occasionally giving a too-large velocity from a small time delta.

Best would be to stabilize that by averaging a few data points, suggesting "average velocity" but
using a shorter time period. Averaging over 50 ms instead of 100 ms gives good results, usually 4 data
points on both my iPhone 4s and Chrome on my Windows laptop.

Another reason the current code has a weak fling is that the velocity was calculated incorrectly.
Because `delay` was added to the time delta, time was computed from n+1 points and distance from n points.

I also changed the `inertiaThreshold` (intended to prevent unwanted
additional movement if you stop dragging and then lift your finger) default to `Infinity` , for two
reasons:

* A fling gesture often failed on my iPhone because the measured `delay` was
higher than `inertialThreshold` (32), sometimes by hundreds of ms.
* With the updated velocity code I don't see unwanted additional movement.