feat(diff): implement two-column layout with file list sidebar
Refactor DiffPanel to use a split-pane layout for better file navigation:
- Add FileList component with tree/flat view toggle and search filtering
- Add SingleFileDiff component for isolated file diff rendering
- Left panel shows changed files with status icons (added/modified/deleted)
- Right panel shows diff for selected file
- Tree view collapses single-child directories (e.g., apps/desktop/src)
- Keyboard navigation (j/k, arrows) in file list
- Per-file diff style toggle (unified/split) in toolbar
- Make RevisionHeader commit body collapsible
- Add sticky header styling for diff sections
- Auto-select first file when revision changes
- Display total additions/deletions summary