Use HTML5 geolocation API if available.