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.
Looking through our code, it looks like `set_` is also sparingly in any our classes -- mostly it's in `gloo` wrappers, where we also have `get_` functions. That's probably why here it made a bit of an unexpected asymmetry for me. It seems like we should either have `property` / `setter`s like we do for most of our other classes, or `get_` and `set_` methods. I'd actually prefer `property` / `setter` behavior since it seems more consistent with our practices, but the `indexed` argument makes that more complex / annoying (though not impossible).

Maybe like we do with `set_data` (method) / `.data` (property) in `gloo` classes, we can do method/property instead, since we seem to need it here. But whatever we decide, as a user / dev I was confused why I had to use `.vertices()` instead of accessing `.vertices`, so I imagine others will be, too...