Add a map listener to the google map.

The listener waits for the map to be idle (aka loaded or fully
failed), then calls the updateMapMarkers function. Aside from hitting
up against the geocoder limit in that function, this allows for the
server data to be successfully passed to, clustered, and viewed on the
map after it has been asynchronously loaded. Cool.