the socket listener currently blocks. for now I've made the fps checks only happen when a requsest comes in.
ideally I would like the gps checks to start on the first request and continue for 5 minutes or so (this timer would be reset after each new request). That way only the first socket request would be slow.
In fact, perhaps we make the first request invalid on purpose just so that the client program doesn't get stalled. That would give the location thread a bit of time to get the first location fix.