Changes field declarations to be purely built-in types (primitives), seeing as how there won't be any custom types.
Fixes up emitter bodies to require an initialize declaration (somewhere) and having optional other members.
Adds the initialize function to its own report group, so that it's obvious when an emitter is missing the initialize function.