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.