WIP: mplexporter / pyplot interface

Very WIP. The long 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).

@lcampagn this is the bit of code, possibly with `_resize`, that would need to be changed to work appropriately. Basically the image should occupy the entire widget viewport by default, but could occupy less. The commented math above was intended to do the scaling / translating to occupy an appropriate space -- in the current example `examples/vispy_pyplot.py`, the image does occupy the whole subplot, so `xprop = yprop = 1.` and `dy = dy = 0`. I'm not sure how to get `image` transformed properly...