Fixed a major bug with the polygon intersection and splitting functions.
This has resulted in the output of tests/mug.csg going down from ~1200 polygons ~400 polygons.
Execution time of this test on my PC was overseved going from 12 to  8 seconds.

Also made some changes to Point3d::perturb which will make the system less sensitive to variations
of TOLERANCE, although it's still not perfect.