Return IR from generatorM instead of CGS record

GeneratorM now returns [IR]
GeneratorM now uses infinite list for registers [7..]