I am thinking of how I might organize all of the components of this engine. I am leaning towards creating each as its own Dev-C++ project, and creating a library out of it. Then the final game engine will simply be these components. I may create a library that has linked in all of those others to form a nice, single uber library.
I have fallen in love with Dia (open-source replacement for Visio).
Expect more annoying diagrams .