Add map.cancelPreRenderFunctions() to cancel ongoing animation.

All the animations are canceled and the view state is set from the
current frameState (center, resolution and rotation).

FIXME:
  - interruptible (boolean) property on animation function?
  - keep map.removePreRenderFunction() ?