Basic Themes (no target range settings) AND Report CGM Errors to web client

Basic Themes, also includes #101 since lots of refactoring was done there