Wrap look-and-feel in a theme

Creates new Theme classes to control the appearance of charts, series, axes and tables.
I'm not keen on these hard-coded values.  I think we should have three properties:

- opacity (no selection at all)
- selectedOpacity (there is a selection and I am selected)
- notSelectedOpacity (there is a selection and I am not selected)

So these values could be configured by users.  Naming these is tricky though!