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
added javadoc.
Get rid of "unchecked" and "rawtypes" warnings in MultiResolutionRenderer.
Split RenderSource-independent part of SimpleRenderer to AbstractSimpleRenderer.
InterruptibleProjector does not always have to be an Interval.
InteractiveRealViewer does not need to know pixel type T anymore.
added getFrame method to InteractiveRealViewer (used it in RemoteViewer
to explicitly terminate the JVM when the window gets closed)
cosmetics
updated UML diagram
add license headers