Text Editing Object & Iterator
I started my rewrite of the text editing object. My original code supported one cursor, and I always meant to update it to support very long lines (as in several megabytes long in a single line). In this new version, I'm supporting multiple cursors and long lines. My original code never allowed one file being opened in multiple tabs. I'm including logic, so inserting text in one tab will move the cursor in the other. The original text iterator used the original text object; the iterator is used with most commands, and in the renderer, it'll need to be fast. I start rewriting that too keeping in mind that I'll need to optimize it.