Add 'visible' attribute to dplace-map

Fixes #175

The ‘visible’ attribute is 2-way-bound and used to initialize the map
only when it will be visible. This way, firefox doesn’t complain about
SVG methods called on elements that aren’t on screen.

Binding with a default value in a directive is awkward, since we’re
unable to assign to it if it’s not bound to anything, so there are a
few workarounds.