MASSIVE RESTRUCTURING. Moved to a data structure called DataModel which
emulates a list in a lot of fashions, but can recursively contain other
DataModels and navigate to an offset within the root by traversing a
DataModel tree of sorts. Also changed everything over to use generators
so that all of the processing for data structure to strings is done in
the various CommonXFormat structures instead of the GUI. Now the only
thing the GUI does is set up a texbox that uses a DataModel.

We have lost a little functionality here, but I suspect it won't be hard
to regain. The textbox also fails to scroll past the end of the buffer
correctly right now, so that needs to be fixed. On the whole though, I
am much more pleased with the current state of the underpinnings of
code.