Added OSM attribution
Migrated from OpenLayers to Leaflet.js
Added description text + some code cleanup