Raycast termination if bounding box or sphere is intersected too far

This avoids expensive triangle intersection tests if all triangles are
guaranteed to be further than Raycaster.far.