This is an implementation of a toroidal mirror which may be curved in two dimensions.
To avoid solving quartic equations, the intersection is compited as a combination of
two intersections. First, the ray is intersected with a cylinder to catch (almost) the small
radius curvature. Secondly, the ray is the intersected with an ellipsoid, with the curvatures
matching that of the torus.
In the first incarnation we assume the mirror to be curving outwards (a bump).
Input parameters
Parameters in boldface are required;
the others are optional.