Entity/Component codegen
- Lots of changes/refactoring
- We generate most of Component, and some of Entity
- Still a work in progress and a few details to work out