Update the pointer to the next block when reversing

Just reversing the array is not enough, the pointers to the
beginning of the next block must be changed to the reversed
array index.
Merge pull request #1824 from ahocevar/replay-hit-detection

Iterating through the hit detection replay batch fails when geometryRenderFunction returns false
pointer events generated by mouse events
source for ms pointer events (IE10)
source for native pointer events (IE11)
source for touch events
add polymer license info
use goog.bind, safari does not support the native bind
base interactions for pointer events on existing touch interactions
former touch interactions now use pointer events
copy properties for pointer event from internal browser event, not from google.event.BrowserEvent
allow dragging for mouse/ms/native when pointer is outside map viewport element
only track events when "pointerdown" event was received, because on native android browser wrong move events are sent with no "pointerdown" event
removes not needed WeakMap struct
add comment about an open bug with native Android browser (4.1.2) when the page is scrolled
makes `PointerEvent` a plain closure class, instead of trying to mimic a mouse event, which was required for the polyfill
refactoring, type annotations
when copying properties for touch events, make sure that those properties that might be different for each `Touch` object are not copied from the touch event
use separate pointer event handler for document when dragging
move checks for pointer support into `browserfeature` module