early working version with SAF collision detection and point-in-poly function for concave polys with holes