Allow creating map directive extensions

This PR adds a controller to the map directive. That controller allows to create custom/application-specific map directives that `require` an ngeo map directive (`geo-map`).

This can be useful for implementing map extensions, a map extension that updates the browser URL (permalink) as the map view states change for example.

Thoughts?