Rejoin session on Socket.IO reconnect event
Refactor app startup and authentication handling

This fixes extremly slow and bugged QR login.
Disable routing after app startup, fix app#checkPreviousLogin
Correcly join session via SIO later when connection has not been
established
Fix feedback average calculation
Use WebSocket support detection, SIO related code cleanup