Merge C++ generator with Python
The generators (in the cpp branch) should be merged into one generator which takes a parameter to indicate which language it should generate.
The generators (in the cpp branch) should be merged into one generator which takes a parameter to indicate which language it should generate.