Reuse re 10178

With this branch, the web will always try to re-use any existing Rendering Engines that are initialised with the desired pixels. If none are found, then we createRE as usual. 

Also, for any request that uses webgateway _get_prepared_image(), we can specify that we don't want to close the RE when the request completes. This is done by using ?closeRE=false in the url. 
Currently, this flag is only used in the image-viewer, so when we are fetching multiple planes for the same image, we're keeping the RE open so it can be re-used by subsequent requests. On closing the image-viewer window, we try to close all Rendering Engines (although this doesn't work in Firefox and won't happen for the "Preview" tab either, so we need to think up a different strategy).

All REs can be closed by visiting /webgateway/close_rendering_engines/. This will also return json indicating the pixelsIds of any REs that were closed, so can be used to monitor the number of REs that are open.

The /webtest/render_performance/ page supports the ?closeRE=false flag, so we can see the performance effects of keeping the RE open between requests.

Things to test (and discuss if we want this PR in at-all)
 - Browse P/D/I...
 - Check REs open (/webgateway/close_rendering_engines/) Should see empty list unless you've opened the Image Viewer or Preview panel
 - Open the Image-Viewer - check REs open, should see 1
 - Try webtest/render_performance/ Refresh page, then check/uncheck the "Keep RE open" before loading planes to compare performance. 
 - Also see if "Load All" shows any conflicts with multiple workers conflicting over the same RE (channel settings not as expected). 
 - Check REs open - should only see REs open when 'keep REs open' is checked.