Changed SphereLight sampling to use doubles for computation.

This ameliorates the banding problem with very small sphere lights.
It doesn't fully eliminate it, of course.  Just pushes it to only
happen with extremely small lights, at which point you would probably
want to use a point light anyway.