Move upload state tracking from server to client.
Fallback to ajax when websocket is iffy.
Inform user that saving is in progress.
Disable socket.io logging.