Three gaps caused messages received via SSE to be invisible when
the conversation buffer wasn't already open:
1. Echo-area notification (noise-receive.el): when an SSE message
arrives and the conversation buffer isn't in a visible window,
show "[Noise] <name>" in the echo area.
2. Modeline unread counter (noise.el): the noise-mode lighter now
shows Noise[N] for N unread messages via a lightweight SUM
aggregation across all conversations.
3. Auto-refresh hook (noise-conversation.el): a
window-buffer-change-functions hook re-renders *signal:* buffers
when they become visible, covering direct C-x b switches.
Also adds regression test:
noise-receive-sse-stores-then-open-shows-message —
store via SSE handler with no buffer open, then open and verify.