Added mapControl directive and and instance of it's use in the example

Added mapControl directive to add custom controls to the map with usage:

    <map-control template="template.html" position="top-right" click="clickFunction()"></map-control>

I have also added an example button to the main example. I hope this is all acceptable.

My apologies for not adding tests at this point, I would like to but could really only test that errors were thrown on invalid attribute values or that it is added to the map correctly (no idea how to confirm that it is showing in the correct spot within the map itself). Any pointers and I am happy to try add these for completeness.

If all is well will gladly make a PR to the documentation if this is acceptable otherwise let me know what more I can do. Cheers.
use timeout from factory, no need to pass it in as a constructor.