Surface normal differentials for spheres.

I'm not 100% certain that this is correct.  But in the limited tests
I've done it seems to do the right thing.  Left a TODO to verify its
correctness.