Further decoupling of rendering classes:
 - abstract Renderer is extended by SimpleRenderer and
   MultiResolutionRenderer
 - made InteractiveDisplayCanvas an interface (implemented by
   InteractiveDisplayCanvasComponent)
 - split RenderTarget from InteractiveDisplayCanvas, so Renderer doesn't
   have to know about InteractiveDisplayCanvas
 - BufferedImageOverlayRenderer is a RenderTarget and OverlayRenderer,
   everything is painted through OverlayRenderers