RcParams instances for matplotlib.style.use

External libraries may want to prepare styles dynamically. For example, `brewer2mpl` provides various colormaps. While it could create it's own context manager for temporarily changing the `color_cycle`, I think it makes more sense if `matplotlib.style.use` can work directly with `RcParams` instances.

```
>>> with matplotlib.style.context(matplotlib.RcParams(**{'text.usetex':False})):
...     print matplotlib.rcParams['text.usetex']
...      
False
```
It seems very odd to test `not is_string_like`  in a `is_string_like`.