Turbopack: run tasks with priority based on distance to leaf (#87662)
### What?
* Compute the approximate distance to leaf in the dependency graph
* Prioritize tasks re-computing by distance to leaf, running leaf tasks first
This ensures that it's less likely that tasks are re-executed multiple times due to bad ordering.
This adresses the "diamond" problem where a task is invalidated multiple times due to multiple paths of invalidation to that task.