Use GeoIP2 JS API

This seems to provide mixed results - for some people it's better than the
browser alone, for some it's worse.