Defer program realization, rendering

Defers the realization of program uniforms to the generator, ensuring
that the data is readily available once the component is created.

Program rendering (that is, the binding of the shader program and
setting of its uniforms) is now handled by the renderer itself.

Additional cleanup has been added to the renderer, and two simple camera
shaders have been introduced as the defaults.