Start of big refactoring. Need to add logic for parent components as result of WithChild() extension.
Finished implementation of the new WithChild extension.
Finished removing the PendingComponents hack for buffering components until the next output - the requirement of .Begin() now makes this unnecessarily complex.
Refactored enough to get tests working again.
Finished refactoring typography components
Refactored most of the remaining components - still need to do the more complicated ones (forms, images, panels, and tables)
Everything else is refactored and all all tests pass - back to where I started.