2DView refactoring

This refactoring makes animating zoom, as opposed to zoomByDelta, possible.
Animate zoom after pinch