update Location
updateLocation is called whenever the current location changes. It works through the auto callout logic to determine which (if any) callouts need to be made. This is based on the iOS app logic.
Return
A list of PositionedString callouts to be spoken
Parameters
user Geometry
The new state of the user location/speed etc.
grid State
The current state of the tile data