Created type synonym for extended lit intersections

Will be needed to pass back kr and kt from the intersected
LitObject, or the entire LitObject.
Added kr and kt to all LitObjects
Added LitObject term to ExIntersect for recursive use

kr and kt will need to be accessed.
Single reflection ray sampled recursively

Maximum depth specified upon converting LitScene to Scene.
Made extra cylinder reflective

There's some weirdness happening on the top of the cylinder, but
it shall be ignored.
Implemented step for unfold and partial fold
Implemented depth limiting function for Trees
Replaced litTrace with hylomorphic solution

Lighting calculations logically separated from construction of
ray tree.  This will allow for alternate reflection sampling algorithms
to be substituted, such as Kajiya's method.
Merge branch 'rayTree' (early part) into next

Conflicts:
	Light.hs
Tweaked reflection and diffuse properties

Hopefully to prevent objects from emitting more light than
was incident.
Updated twoLights.ppm
Transmission rays generated

Bright ring around edge of sphere not in evidence, though total
internal reflection seems to be occurring on the lower edges.

May need to use different epsilon point in the case of total
internal reflection.
Shadow rays take transmissiveness into account

Lights which would attempt to illuminate a surface point from below
are culled before passing to the illumination model.

Specular highlights can be seen on the back of the sphere. I'm
not sure if that's desirable.
Retrieved non-extra dumb shadow image from earlier