Implements saving and loading of color profiles from settings dialog.
Refactors a lot; moves colors out of JoshText/LineNumberPanel.
Colors are now matched in a ColorProfile, which is now constructed using a Builder.
Colors are now private and must be updated by ColorProfile reference.
Confirm profile deltion, then delete fully
Adds reading and writing of the other ColorProfile values.
This is done using new functions in ColorProfile to work with property names.
Also adds the default JoshText colors to the built-in profile builders.