Fix anti-dependencies, factor out block ordering
- Fix issue in anti-dependencies causing CPU backend to hang in complex case.
- Anti-dependencies no longer get generated when the mutator is also the generator of the object in question (because then the read depends on the mutator, there's no need for an anti-dependence edge for scheduling).
- Factor out block ordering from RT and CPU backends into basic blocks analysis.