I've been refactoring how themes work, and I'm much happier with it now. With the new set-up it's easy to just override just one or two partials if you want, or maybe just override the layout, but still keep using most of the default partials if they suit your needs. If I can keep the HTML in the default views clean and flexible enough, I think this is going to make theming the hosted site quite low-lift for most normal use cases.
I'm still optimistically hoping that at some point this project will attract some people who just love making and sharing themes :) Design and front-end development has never been my strongest skill, so instead I'm trying to make it as easy as possible for people who do have those skills to come and join in one day!
This PR introduces a Theme model (POR, not AR) which can collect any useful theme-related functionality going forward - utility methods to find out if there's a theme in effect currently, what it's called, where its files are located, what other themes are available, etc etc.