Refactored the viewer JS code

Now we have a file with the base code for
all viewers, and each one with an additional
file with the custom parts.
Added control for centering map onto current position

It's retrieved through HTML5 geolocation support,
and currently used in our three viewers.