Refresh PanoJs on rdef change. See #10707

This addresses https://trac.openmicroscopy.org.uk/ome/ticket/10707
We now initialise PanoJS on viewport reset() instead of _load(), which prevents re-init on each rendering def change.
Need to pass an hrefProvider callback to the PanoJS init, instead of a static tile href. This is called a LOT (for every tile, at every drag event). Minimally tested so far.


To test, zoom & pan big image viewer while changing, applying, saving rendering defs (and Z and T if you have them). All should just work, without the big image viewer automatically reseting to it's initial state.