Update intersection impls

Change the existing line->line intersection to be
ray->line and clean up the logic.

Also add a primitive ray->aabb intersection impl that
checks for a collision with the four segments that
make up the aabb and returns the collision closest to
the ray's origin.

Refs #68