Add configurable theming

Themes can get defined in the `config.js` and then have to be
added to templates/$THEME_NAME and static/$THEME_NAME

If a facet wants to use another template engine, we can override
the default config in the facet itself.