Add plugin return values for ImageViewer

The model supported is that plugins can return an overlay, some data,
or both. Each plugin therefore returns an `(overlay, data)` tuple in
which each element can be `None`.

To allow return values, the plugin need only override the `output`
method defined in the base Plugin class.

See discussions here:
https://groups.google.com/d/msg/scikit-image/0nkJM-WguXA/iqogBABa748J
and here:
https://github.com/scikit-image/scikit-image/pull/805
Allow OverlayPlugin to return the current overlay
Incorporate @tonysyu's suggestions re:docstrings
Add output for color histogram plugin
Merge pull request #810 from jni/viewer-returns-overlays

WIP: Viewer returns overlays