Use OpenLS service for geocoding

This adds an authenticated proxy service to phTagr to work around CORS limitations
Avoid duplicate markers
Only add popup if there is something to show
Fetch markers on pan or zoom
Move maps javascript into separate file