Use doubles for LatLng and BoundingBox storage.

This makes the fields protected, so we don't need to use getters and
setters internally, and it removes the 1E6 conversion hack that
proliferated throughout the code.

Right now it breaks path overlays, which don't show latitude correctly.

This could, but probably will not, have some effect upon performance.