Render Geometry & Branch Merge

The first thing I did this week was change rendering to create geometry. By this I mean create vertices with color and texture information. There's no more code that draws rect or text directly. I suspect on laptops attached to high resolution monitors it might be a good idea to cache some of the vertices rather than regenerate it, especially on 4K screens. Specifically, if there are two tabs side by side showing code and the user scrolls one of them, the other could reuse its previous geometry.

The rest of the week was merging code. The last three weeks have been spent in a draft branch. It had a rough draft of the new event system, file cache, and utility functions. I spent most of the week moving code from that branch to the trunk. The time wasn't the moving but the improving. Almost all the function signatures were changed, and some functions had to be completely rewritten. One such function was the code that walked over the current directory and sub-directories. It use to add files to the file cache but I ended up not liking that. I rather see the files so I can apply filtering before it was inserted into the cache.