Add ray casting.

It is implemented for boxes, balls, and compound geometries.
It is not yet implemented for any convex object.
It can be accelerated using the dbvt, or the dbvt-based broad phase.