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?
I was thinking the same thing, I'll try and think of a good way to do this.