brought back clamping n-linear interpolation for ARGBType in viewers
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
UML class diagram for most of imglib2-ui.
added lots of javadoc. Use generic parameter name "A" for transform type consistently.
more javadocs
use FloatType in InteractiveCompositeViewer example to avoid interpolation overflow artifacts.
added license headers
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.