Fonts api with Themes integrated

Fixes:
https://github.com/adobe/brackets/issues/8425
https://github.com/adobe/brackets/issues/8381

References:
https://github.com/adobe/brackets/pull/8305

I forgot to mention this previously: the better way to restore the default is `prefs.set("theme", undefined)`. That will delete the value from the preferences file.