The class Ray should include a value denoting its
importance, i.e. how much of the value of a screen
pixel it carries. A primary ray would have a value of
1, while a secondary ray cast from a 10% reflecting
surface would only have an importance of 0.1. The
intersect() method of the scene could ignore rays with
an importance of less then .01 or something, this might
speed up rendering performance.