Own gap overlays inside the chart actor

- Add typed `SetGapOverlay` and `GapOverlay` payloads
- Detect gaps directly from chart-local OHLCV SHM
- Share `GapOverlayMngr` between local UI and remote callers
- Enable 60-second overlays at display startup
- Toggle the focused timeframe directly with `Ctrl+G`
- Preserve legacy `remote_annotate()` commands unchanged
- Isolate local and remote graphics ownership and teardown
- Document the stack landing and manual qualification order

## Deferred

- Trigger refresh from an explicit history revision event
- Run live Qt chart and remote actor qualification
- Review and land the full `gap_annotator` commit range

## Stats

- 10 production/test files changed
- 2 architecture plan files added
- 25 focused regressions passing
- 0 existing branches moved

(this patch was generated in some part by
[`opencode`][opencode-gh])
[opencode-gh]: https://github.com/sst/opencode
