improve Ray toString
Ensure that the direction of a ray is always a unit vector
Add a new kind of texture, a CompoundTexture.
A CompoundTexture both absorbs light, reflects light, and transmits
light.  How much of each of these it does can be set, as can it's base
texture (color when absorbing light) and its index of refraction ratio
(used to refract transmitted light).