Use a reference passing style for intersection checking. Patch triangle intersection.
Add the shape plane.
Use reference passing style for the hit function.
Rewrite the functions calls to use reference passing style.
Add a fourth channel to Color; it contains the maximum value for a color.
This makes it easier to take into account the take were rays do not hit anything.
Patch the light system: now correctly handles diffuse and global illumination