Improve GPU volume mapper performance when shared by multiple render windows
When rendering a large volume in the headset and on the desktop with the same mapper instance (in Paraview or in a native VTK app), the frame rate drops and users experience input lag.
One issue is that the volume texture is uploaded twice to the GPU, i.e. vtkOpenGLGPUVolumeRayCastMapper calls LoadVolume for both the XR render window and the desktop render window, although the same mapper/actor is used in each renderer.
Seems to be caused by the NeedToInitializeResources flag being reset because the ResourceCallback is registered/released with different a renderwindow on each frame: https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/OpenGL2/vtkOpenGLResourceFreeCallback.h?ref_type=heads#L51
(indirectly called from here)