Mousewheel zoom centres on mouse location

This fixes https://trac.openmicroscopy.org.uk/ome/ticket/12391

To test:
 - Open web full image viewer.
 - Use the mousewheel to zoom on the image.
 - When the restraints of image positioning allow (see below), the point of the image under the mouse pointer should remain the same while zooming.

Currently the image viewer does not allow you to drag the image outside the viewport IF it is small enough to fit in the viewport. This can lead to strange behaviour if we enforce this while zooming with the mouse.
Question is whether we want to remove this restriction? In this PR?
Theoretically this could set `zc` to `null` if the timeout happened between the `setZoomCenter` and `getZoomCenter` calls.  Unlikely, but it may be worth adding an `if (zc) {...}` to avoid an exception.