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.
it seems you use different white spaces.
please use the same whitespaces as the rest of the file