Respect map boundaries

When the map has defined boundaries (maxBounds), do not move
to the location if it is outside the boundaries.
Added "onLocationOutsideMapBounds" option to trigger a callback
which by default shows "options.strings.outsideMapBoundsMsg".
Fixes #25
Merge branch 'map-boundaries' into gh-pages