Implement reconnecting upon connection loss

TODO: test in various conditions, user feedback
Add UI feedback while reconnecting