Draw all labels in one go instead of using a timeout.
Do all drawing in one go instead of using timeouts.
Time the map and label drawing phases.
Clear canvas *after* data is loaded so there isn't a blank period.
Load data through a local copy of Varnish so we don't tax the overpass api so much.