A much-improved take on registerization via full liveness analysis.

This version still runs painfully slowly for large functions, but it
has a lot better memory usage and scope for improvement.