Move CPPCG core types to their own module.

This is going to be step #1 of a refactor, the CPP code generation as it
is is unwieldy.
Remove redundant import.
Move common definitions and prmitive generations.