Added "quality triangulation" option. It tries to maximise the minimum angle of each triangle using eartip sorting and edge swaps
Added some dot product utility functions