Simulate useTransition priority queue. Updates marked isUrgent: true
preempt non-urgent ones.
solve(updates) processes updates in priority order:
1. All urgent updates first (in arrival order).
2. Then non-urgent ones (in arrival order).
Returns the commit order.
Sample tests