Compute the sphere normal at the intersection.

Use the intersection normal as pixel color.
Introduces a POD type to store information about an intersection.
Documentation.