ENH: Basic 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.
* [x] Improve image visual quality and fix view transformation.
* [x] Add tests.
* [ ] Complete support for line properties.
* [ ] Improve line quality (agg).
* [ ] Make it faster (it's *very* slow currently).

Things that would be nice, but not 100% necessary to have things working (and probably difficult):

* [ ] Make collections work (efficiency).

I agree. Although manipulating private attributes on another object is not the best practice, I think it makes sense here (so long as we use an distinct enough name). I think it's at least better than requiring each object that wants to use this functionality to also create a registry.