This patch saves the webchat conversations messages in the browser's
local storage. When the user comes back to the page, the
conversations are restored.
This patch updates the web ui for webchat to suppress the displaying
of duplicate recieved messages. Dupes can happen over the KISS
interface due to packets being encapsulated by nearby repeaters into 3rd
party packets.
When a dupe message is recieved, the dupe message is flashed 3 times.
This patchset allow getting the GPS coordinates from the browser's
geolocation API (which can be denied by user), then send's the GPS
coordinates to aprsd via socketio and then aprsd sends a beacon.
This allows the APRS network to know the location of the person running
the webchat app via browser so packets can get routed back to it.