Finally have register allocator using lastuse flags. Needs some peephole optimisation for redundant movs, but otherwise not bad.