Support for reading colour from ply files

* Support colors for both triangle meshes and edge chains on C++ side.
* Modify edge shader to use per-vertex colours