Make themes work with a contextmanager

Adding themes was not sideeffect free, meaning that after you added
(or even instantiated a theme object) a theme all following plots
(even direct matplotlib plots) had their defaults altered.

This patch changes this so that themes add their rcParams to the
ggplot object during __radd__() [and not directly to
matplotlib.rcParams during __init__()] and during plotting a
matplotlib.rc_context() contextmanager is used with this rcParams.
Add matplotlib and xkcd themes

The xkcd theme uses the matplotlib plt.xkcd() to set the right
rcParams settings.

The matplotlib theme can be used to make the plot look like a
matplotlib plot or set (additional) rcParams.
Change default font to sans-serif
Add theme_matplotlib tests
Add readme examples as new tests

One could probably link the images from the readme.
Add images for test_basic
Remove some deprecate warnings

Adding the default rcParams to itself will also include some deprecated
params which then show up as deprecated warnings. Remove such params
before adding them.

Also added is a better version to check for matplotlib bug #2543: the
new workaround will only be triggered for the problematic
'text.dvipnghack' param and leave all other params alone. This was
needed because some params accept None but not "none"...
Implement post plot callback for theming

Some theming relevant settings can't be set via rcParams but must
be applied to all ax in a plot. Add the possibility to submit post
plot callbacks, which get called with each axis in a plotting
figure.

The theme_grey submits such a callback.

Also change how the default theming is applied, so that it is
possible to print a plot with the default style and then add the theme
without getting the callback/rcParams from the default theme applied.

What is not possible anymore is adding theme_grey (with a callback) and
then adding theme_matplotlib (currently without a callback) without
having some "leftover" from theme_grey (the callback).
merging in changes for theme context manager
adding in themes