Adding documentation to Renderer

I've added a bunch of comments so that hopefully the big picture of how the renderer works is a little bit clearer. In particular, I've added some documentation to the ``AbstractRenderer`` class which explains how the renderers that subclass it are used.