Triangulation

Adds a marginally functional triangulation routine based on prior work by Suraj and myself.
Also updates PolygonVisual to make use of it. 
Not ready for merge yet--this code is complex and broken in many places; needs a lot of testing / fixing / cleaning. 

Anyone interested in helping to debug the beast can add test routines and/or run the `util/geometry/triangulation.py` file directly to get a visualization of the construction process (requires pyqtgraph).
I don't like the idea of having a debugging script living within a module (esp. one that calls another package), when it could easily live somewhere else and make a cleaner separation. It is a bit sloppy in that sense, and it could also give contributors the idea that this is how we develop our software.