Zoom buttons zoom at center (Fixes #4). Refactor zoom code. Fix IE viewport
Cross-browser mousewheel support (including IE). Optimisations.
Optimizations are from profiling on Firefox. They include:
- Reducing calls to getCTM() (viewportCTM is no longer a static variable)
- Cache calls to getScreenCTM() which is slow on Firefox

Made some attempts to normalise wheel speed across browsers.
Tested manually on FF 28, Chrome 33 and IE 11.
Merge pull request #33 from bcoughlan/master

Zoom buttons zoom at center (Fixes #4). Refactor zoom code. Fix IE viewp...