Added the notion of a composite system, which is composed of multiple
systems.

Also converted the renderering system's two codepaths into two seperate
systems, which are wrapped in a composite system in Renderer.