WIP: mplexporter / pyplot interface

The todo list:

* [x] Translate Cyrille's code to vispy submodule + example.
* [x] Make text display.
* [x] Make `Line` based on `Visual`.
* [x] Make `Marker` a visual.
* [x] Complete support for marker properties.
* [x] Change to use `SceneCanvas`. This should facilitate:
* [x] Deal with different plotting coordinate systems.
* [x] Deal with multiple axes.
* [x] Add image support.
* [x] Complete text display options, with proper scaling and location.
* [ ] Improve image visual quality and fix view transformation.
* [ ] Complete support for line properties.
* [ ] Improve line quality (agg).
* [ ] Make it faster (it's *very* slow currently).
* [ ] Add tests.

Things that would be nice, but not 100% necessary to have things working (and probably difficult):

* [ ] Make collections work (efficiency).

I'm not clear on what you want the bounds of the image to be, relative to the scene coordinate system. By default, the upper-left corner of the image is at the origin of the image visual's local coordinate system, and the bottom-right corner is at `image_data.shape[:2]`. There are two ways to make the image fill a particular region of the view (I assume we are looking at a SubScene inside a ViewBox):   1. Set `image.transform` as you have done, or 2. set `viewbox.rect`. The correct method to use will depend on the behavior of matplotlib, I suppose..