feat: refactor diff_view to Entity-based architecture (TAT-31)
- Convert DiffView from stateless function to Entity<DiffView>
- Add selection_start/selection_end fields for future text selection
- Update Tatami to store Entity<DiffView> instead of Option<FileDiff>
- Update log_view.rs to render DiffView Entity
Enables TAT-28 (text selection) and TAT-29 (clipboard copy)