Extended tyle layer

I have changed the Google layer to be an extension of the L.TyleLayer.
In addition, I also changed how the Google attribution is displayed, moving it to the Leaflet attribution controller. This allows displaying correctly the link to the Google's terms of service and it it looks better there.

There are also some fixes to other functions.