Add ImageViewer example.
Ported ImageViewer to the updated ThreadWeaver API.

Works like a charm. Now cleanup.
More cleanup.
More cleanup.
Do not assume finished is already set when dependencies are resolved.