Further Expansion

Changes such as character class added, and header files separated into
existence.

A lot of changes since the last commit, but that is because it is just
early days and it is far too easy to generate content.