Add Multi-theme support

Adds multi-theme support using the new THEMES setting.
You can specify all the themes that you will be using in python
dicionary form. The keys to the themes can then be used by other themes
to inherit.