Discard intersections with t < 0 in intersect_with_sphere.
Refactor SphereShape intersection
Fix normal calculation for scaled spheres.
Add a 'radius' parameter to ShapeSphere
Make lights be shapes too.