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).

The creating of the registry seems such a detail to the `_handle_exception()` function. What about just passing `self` and `_handle_exception` will take care of creating a registry when needed, storing it in some global cache or on the object itself.