Switched to doubles in a few key places.  Spherical mercator should now be more accurate.