Basic Themes Support

.. no doubt we will extend and refine this but at least you
   can select some basic prebuilt themes.

.. will need to add more as its a limited list but the basics
   are in place for now.

Fixes #855.