Compiler [cpp]: Wrap struct define in objects. The preprocessor macro lookup table is now a standard mapping instead of a custom hashtable. This is a step in cleaning up the preprocessor code.