update

fixed LocateLightRay; now using previous/current locations for
entering/leaving shells; using tolerance rather than equality for "on"
shell cases (now finds all intersections correctly)