Renderer knows its source (which may or may not be a RenderSource).
This makes InteractiveRealViewer reusable for Renderers not using RenderSource.
It also means that the RendererFactories need to know the source.
bugfix: because the RenderTarget is installed in the DisplayComponent
before the window is shown, its dimensions have to be updated after the
frame is made visible. Just to be sure, we also check for 0 width and height
in the renderers.