mouse+wheel + PinchZoom refactor.

Refactor into PinchZoom and AffineTransform classes.

Adds support for mouse wheel.