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.
cc @cneves @chris-allan @aleksandra-tarkowska @knabar 

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.