Wrap look-and-feel in a theme

Creates new Theme classes to control the appearance of charts, series, axes and tables.
Mix of this and self.  We need to decide a 'self policy' in our code review.