switch our triangle implementation over to follow Pyret's, which fixes some bugs and will likely be maintained in the future