Improve parsing of OSM links
Currently we match OSM URLs addressing by coordinate we use a regex that is missing some links that would work in the openstreetmap.org site, such as: https://www.openstreetmap.org/?lat=39.9882&lon=-78.2409&zoom=14&layers=B000FTF
The current regex is defined as: /https?://(www.)?openstreetmap.org/??(&?mlat=(\d+(?:.\d+)?))?(&mlon=(\d+(?:.\d+)?))?(&zoom=(\d+))?(#map=(\d+)/(\d+(?:.\d+)?)/(\d+(?:.\d+)?))?/
It will not work when the parameters are named "lat" and "lon". It seems both mlat/mlon and lat/lon can be used. It also is broken for negative coordinates and doesn't accept the additional layers parameter (which we should probably ignore, but it shouldn't stop the URL from being supported).
A better way might be to use the URI parsing functionallity in GLib 2.66 to get the parameters.