Add exponential falloff to kernel reconnect

- reconnect tries after 2, 4, 8,...,64 seconds
- gives up after last attempt, setting new `Connection lost` notification
- clicking `Connection lost` triggers reconnect
- add `Reconnect` to Kernel menu
You pass `this._reconnect_attempt` with the event just after resetting it to 1. Should the event fire before it's reset?