Improved OOP architecture.

Parts of scopegadgetwidget that were not possible to put in their proper place due to the original structure can now be abstracted.

In short, this moves everything that was scope configuration specific in the gadget widget to the configuration classes.

EDIT: Took an opportunity to add abstraction to the spectrogram data class.