feat(tui): component-based TuiApp, slash dispatch, markdown AST
- Convert tui.rs -> tui/ directory module, old god-struct in legacy.rs
- New component architecture: Component/Overlay traits, ConversationPane,
InputBar, Dashboard, StatusBar, CommandPaletteOverlay, AgentViewOverlay
- Component-based TuiApp in app.rs with draw_screen pre-borrow pattern
- SlashCommandDispatcher extracted from main.rs
- MarkdownAst + shared parser (normalize_nested_fences, render_diff,
find_stream_safe_boundary, strip_ansi)
- EventBus with crossbeam-channel
- add capture.rs for future stdout gating
- Reuse in workspace: 59 TUI tests pass