Add support for kinetic effect while dragging.

Only dragpan interaction is supported for now.

The kinetic effect use the maths below (thx @twpayne):

Rate of decay (number, must be negative) = α
Minimum velocity (pixels/millisecond) = v_min
Initial velocity (pixels/millisecond) = v₀

Velocity at time t (pixels/millisecond) =
    α⋅t
v₀⋅ℯ

Distance travelled at time t (pixels) =
   ⎛ α⋅t    ⎞
v₀⋅⎝ℯ    - 1⎠
─────────────
      α

Duration of animation (milliseconds) =
   ⎛v_min⎞
log⎜─────⎟
   ⎝  v₀ ⎠
──────────
    α

Total distance travelled (pixels) =
-v₀ + v_min
───────────
     α

Easing function =
   ⎛ α⋅duration⋅t    ⎞
v₀⋅⎝ℯ             - 1⎠
──────────────────────
     -v₀ + v_min
Activate kinetic effect by default
Add a removePreRenderFunction method to ol.Map

This will remove the pre-render function from preRenderFunctions_ array if
found.
Add a frameState property to ol.MapBrowserEvent

so that we will be able to retrieve the current center of the view2d from the
framestate in the dragpan interaction.
Stop current kinetic animation on DOWN events
Kinetic now returns directly the pre-render function

instead of returning the kinetic easing function only.

(thanks @fredj)
Get rid of binarySelect to find the first point.
Renaming to be more consistent with ol3 style

s/v_0/initialVelocity/
s/v_min/minVelocity/
Set kinetic getDuration instance method to @private
Merge pull request #164 from bbinet/kinetic

Add support for kinetic effect while dragging
Rename MapBrowserEventHandler internal handlers name
Remove touch events handling in handleMouse* handlers
Add listeners for touchstart, touchmove and touchend events
Listen to IE pointer events
Move dblclick handling into touch handlers