Added ability to transform LonLat when placed on map

My earlier change allowed for the OpenLayers map to correctly display, but other changes in the OpenLayers API prevented points from being placed correctly. The OL map uses an EPSG:900913 projection and points need to be in that coordinate space or transformed into that space. I've added code to the LonLat that allows setting the source and target projection and then transforming the points when rendered to JavaScript. Additionaly, I've added a SphericalMercatorLonLat that always has it's source projection set to EPSG:4326 (like Google or Bing maps) and it's target to EPSG:900913, in most cases this will do what everyone wants to do: plot a point on the map.
not something very strict but we prefer to avoid `.*` imports