WIP: factor out spectral cube and PV slicer tools as plugins

This PR makes it possible to register custom tools, and factors out the PV slicer and spectral tool to make use of this framework (so they can actually be disabled if desired).

@ChrisBeaumont - This is functional but at the moment I marked this as WIP because https://github.com/glue-viz/glue/pull/465 and https://github.com/glue-viz/glue/pull/474 need to be merged in first, and after it will be easier for me to review the changes so far and see how this can be improved further.

One question is whether these should be 'plugins' or whether I should make a new 'tools' directory for this type of tool?
This seems to assume that everything in the tool_registry applies to ImageWidget. We probably want some way of registering tools to data viewer types (apologies if this is actually what happens)