Add tmux control-mode terminal + VS Code workspace scaffolding

Builds on the @Observable Phase 0 core (e34f8be).

Terminal core — the architectural fix for the 1.x render/scroll/selection bugs:
- TmuxControlClient: a `tmux -CC` control-mode client over the shared ssh
  ControlMaster. Parses %output (byte-level octal un-escape), sends input via
  `send-keys -H`, sizes via `refresh-client -C`; ordered ingestion through an
  AsyncStream. Sessions still persist (still tmux over ssh).
- ControlModeTerminalView + ControlTerminalContainer: feeds pane output into a
  standalone SwiftTerm TerminalView so scrollback / selection / scroll are
  NATIVE — no copy-mode, no custom scrollbar, no ssh round-trip per scroll. A
  geometry-managing container sets frame+bounds so SwiftUI sizes it; the terminal
  is layer-backed with .onSetNeedsDisplay so partial/scroll redraws clear stale
  cells (SwiftTerm's draw never clears default-bg). Pooled per session.
- Ported the 1.x terminal stack (kept as the PTY path for non-tmux hosts),
  incl. the stabilization fixes (click-to-focus, momentum-scroll drop,
  copy-mode exit tolerance).

Session sidebar: faithful 1.x port on @Observable (tiles + activity glow), with
preview suspension when a host is collapsed or previews are hidden.

Detail is terminal-first: the terminal fills the whole detail area. The VS Code
chrome (activity bar / Explorer / editor / terminal panel) is built under
UI/Workspace/ for later — the spike intentionally leads with the terminal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
