nak: Handle arbitrary depth control-flow
The biggest challenge here is that the barrier instructions aren't well understood (codegen doesn't use them) and not very SSA-friendly. In theory, this MR allows arbitrary use of barrier registers, including spilling support.
I'm leaving it as a draft for now because I'm not at all convinced of my instruction dependency code.