WIP

Refactor ggplot, theme, and complete theme subclasses
* set default theme to theme_gray()
* use explicit api to callback to theme for applying rcParams and post_plot_callbacks
* remove __radd_ from theme subclasses
  this is pretty messy to get right better that it is only defined in the superclass due to the
  way python decides what to call when __add__, __radd__ are available for parent and child classes

Get the basic adding semantics of ggplot + theme and theme + theme
* Add element_text for themeing text
* themes can be combined iff compined in the correct order
  eg. axis_text + axis_text_x will work as expected but
      axis_text_x + axis_text will not.
* only theming text related to axis
* todo
  * more theme elements
  * more theme targets
  * proper combination of theme elements

More text theming added

TODO:
* complete rest of themes
* implement correct order of theme application regardless of theme construction
* fix python3 print error
* update images that were failing tests
rename module text to element_text
refactor element_text, move targets to the element and
create classes to handle configuration at the proper scope.
Fix python3 test fail
Sort element targets so themes are applied in proper order.
Fix python3 fail
add missing expected png
Sort element_targets/element_themes before applying them.
Add missing expected images
implement titles
placeholders for remaining element_text targets.
Partial address code review
respond to code review
cleanup some test cases
cleanup
remove axis_ticks @todo
remove Trace Metaclass
spellcheck
remove dead code
remove debug prints
add missing baseline images to proper location with proper name
fix theme_bw and theme_seaborn
clarify exception when baseline images are missing
Remove family from test case.