convert: split up game specification code generation

This just separates all the code and data generation components into more files. It's the first step for optimizing the gamespec conversion code.
excellent question