-The text is a series of sprite objects with each frame acting as a character. They are spawned based on a string. If I recall correctly I used find() to get the index of the character so I know which frames to use.
-The gray boxes behind the text act as the main spritefont object and contain all of the parameters such as the text to display (unless loaded externally), character map, size of text, etc.
-The text tags / commands and queue are set up using regex and dictionaries. I learned this from the Dialogue System Template on the Scirra store, but added a lot to it to give individual characters and words their own behaviors and effects.
-Word wrapping was accomplished by processing the text and adding newlines where necessary.
Mine is functional and is already being used in some of my projects, but I think it lacks features that people will eventually need before submitting it to the store, such as horizontal and vertical alignment, justification, support for variable-width fonts, character scaling, and so on. Each one of these features affects the others so it's been very difficult to figure out. I would hire another programmer to finish all that but I don't know who to go to, and I don't have the time to figure it all out myself right now.