Initial commit.  Still lots to do, including but not limited to:

- Widget generator
- Upgrade script generator (for app/widget roles and such)
- Code cleanup
- Tests for all generators
- Documentation