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).
Can we get rid of all this stuff? If not, all this code from `if __name__ == 'main'` should be moved to an example, or a test, or a hidden file like `_try_triangulation` and then it should be added to the ignores list in `.coveragerc`.