feat(02-03): wire main.rs with highlighter init, vault loading, and renderer
- Add highlighter::init_highlighter() call before render_markdown()
- Load index.md via vault::load_document() with proper VaultDocument matching
- Query terminal size before terminal init for initial render width
- Render markdown via renderer::render_markdown() passing content and width
- Pass raw content string to App::new() for resize re-rendering
- Update App::new() call with all 4 arguments (is_login_shell, config, doc, raw)
- All 7 modules declared: app, config, highlighter, renderer, signals, terminal, vault