Switch to pointers so themes can be loaded and unloaded, moved themes into separate file