Truncate js tree dynamically 12161 (rebased onto dev_5_0)



This is the same as gh-2258 but rebased onto dev_5_0.

----

See: https://trac.openmicroscopy.org.uk/ome/ticket/12161

This PR truncates image names in the tree, so that they fit in the left panel width. When the panel width is changed or new images are loaded, the truncation updates.

To test:
 - Find or import a load of images with long names (choose full path in Insight import options).
 - When they are loaded in the tree, names should be truncated to fit in the panel.
 - When the left panel is resized, truncation length should update accordingly.
 - Same functionality should exist in the Tags page.
 - When images are renamed in right panel, new name should also be appropriately truncated.