Revised net.imglib2.ui package.

This incorporates many changes and improvements I made in the BigDataViewer.

* Multi-threaded, multi-resolution rendering making GUI very responsive.
* abstracted from transform type Affine2D/Affine3D,
  avoiding code duplication.
* removed support for IJ1 ImagePlus as interactive display.
  Only JComponent is supported.
* The old InteractiveViewer2D, etc, have been updated to use the new
  rendering infrastructure with minimal interface change.
  Code relying on those classes should be easy to fix.

For simply using imglib-ui to display images see InterActiveRealViewer and
derived classes. InterActiveRealViewer is a default assembly of smaller
imglib-ui components that are hopefully reusable for less straightforward
scenarios.
updated (most of) the interactive examples for revised imglib2-ui.
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.
abstract InterruptibleProjector

(cherry picked from commit b5597b7221fe963b06c7819fce6a0efa95270b28)
moved LogoPainter to imglib2-ui, included imglib2-logo-35x40.png as a
resource for the build target, made LogoPainter use the logo from
the resource, made LogoPainter skip the unnecessary effort to open the
logo through imglib-io

(cherry picked from commit 788db4212a935ff84de8cb37199686156c54b0e1)
removed source field from AbstractRenderer as it isn't used there and
prevents extending AbstractRenderer by classes with something else than a
single source

(cherry picked from commit eff8fdf5396bdf4fefc06c873ca3f93953b7c993)
fixed visibility of AbstractInterruptibleProjector#numThreads

(cherry picked from commit b1d3da5861e9b1a225b32f72abd05f669842aef9)
abstracted multiresolution renderer to enable extensions that do have
something else than a single source

(cherry picked from commit 4206eecd2e79a86f84b4e7efc0d3a6af71ee704f)
fixed inverse isComplete condition in MultiResoltionRenderer, sorry Tobias

(cherry picked from commit 3f6a981e617925ab147135de45f99a91e3ac9f30)
move numThreads, interrupted and lastFrameRenderNanoTime out of AbstractInterruptibleProjector.
add default implementation of isComplete() to AbstractMultiResolutionRenderer.
Allow to specify border for LogoPainter