feat: improve branch ordering in revision graph by trunk merge-base
Reorder branches so that edges from branch commits to their trunk merge-base
don't visually cross through unrelated branches. Branches are now sorted by:
1. Working copy's branch always first
2. Trunk merge-base position (earlier = first)
3. Recency (most recently touched first)
4. Change ID (stable tiebreaker)
Also simplifies DiffPanel component and updates atoms.