Map provider & map type stored as map object attributes

Will remove need to access this.options.mapOptions every time we need those important values
map enhance : use provider specific methods

Google Maps only for now
waiting for Bing Maps implementation
Do not use google.maps.LatLng, but abstract method this.getCoords()
getMapTypeId() : doesn't need params, as provider & mapType options are exposed as map attributes
Code indentation
OSM (partial) support

Support OSM tiles, displayed over a google maps, and using GMaps API

Use
{
provider:'osm',
mapType : 'default' || 'toner' || 'mapbox'
}
Map : add api key when injecting google maps script
Map UI Refactoring + Bing & OSM Support

OSM is supported through Google Maps

Map API :
* addMarker ({lat:float, lng:float})
* addMarkers ([marker*])
* removeMarker(marker)
* clearMarkers()
* setCenter({lat:float, lng:float)
* getCenter()
* setZoom(int)
* getZoom
* moveToLocation ({lat:float, lng:float})
* panTo({lat:float, lng:float})

Function names are still a bit weird.. Sorry about that. It's part coming from the old framework, part from the mess it was.

Everything *should* be OK. Fixed a few things which were not working (events publishing using the old fashioned way for example).

I'm adding an example page too.
Add a map example

./examples/map/index.html

Demo :
Different providers (Google, Bing, OSM over Google)
Changing Zoom
Changing location
Adding/removing markers
Merge pull request #46 from joshfire/map_wip

Map View : Google, Bing & OSM Support