Move pyramid_frontend.compile.compile_theme to a theme.compile() method. This offers two advantages: one is that it can be overridden in a subclass; the second is that it means that all loading of other pyramid_frontend code happens at runtime, so logging configuration can happen first.
Switch debugging output to use python logging, with colorized output and structured config