API work

Trying to make the API less sucky:
* raycast arguments change
* transitioning to use Ray, RaycastHit, and LineF where possible
* Shaped back to Obstacle in the csp, so that layered checks can be
implemented (for VoronoiNode, Delauny Triangulations, faces, polygons,
and other game objects)