Generalize the scene function to take any number of objects

A scene can now include any number of objects and correctly determines
the first one that is hit by a ray. The function supplied by that object
is called to determine the color of the ray.