feat(#525): render reasoning.delta / reasoning.available stream (#543)
* feat(#525): add ReasoningDelta + ReasoningAvailable WsEvent types
* feat(#525): parse reasoning.delta + reasoning.available; route through reducer + StreamingState
* feat(#525): add reasoning streaming buffer to ChatStreamingController
* feat(#525): dispatch ReasoningDelta/ReasoningAvailable in ChatViewModel
* feat(#525): render collapsible ReasoningIndicator in chat list
* fix(#525): address review — icons+semantics, LocalHermesStatusColors, drop redundant ReasoningAvailable branch
* feat(#525): persist reasoningText on model, entity, mapper + Room migration 3->4
* feat(#525): reducer + streaming carry reasoningText onto message
* feat(#525): render persisted reasoning above each assistant bubble, drop global indicator
* nix: flake
* nix: flake
---------
Co-authored-by: M57 <m57@hermes-control.app>