improve indicators and handling of dead kernels and broken websocket connections

I think it's still possible to get to a state with no kernel and insufficient indication.
Imperfect, but an improvement.