ENH: Add mesh viewer

Adds a `vispy.plot.mesh` plotter. I tried to simplify `MeshData` a little bit in the process.

Closes #548.

Ready for review/merge.
Maybe we should just tear down and rebuild `MeshData` from scratch, in a `vispy`-based way. Right now it's not formatted like the rest of the codebase.

Also, does `Mesh` typically not use indexed drawing? I thought of some cases where it should be *much* faster to use indexed mode, so it seems like we should use that by default. For example, when you want to change the position of one vertex you can just change one element in the `VertexBuffer`, as opposed to several, and it could end up mattering for large meshes (I usually work with 150,000+ vertex meshes), which are typically `vertex` + `face` indexed.