Move away from ThumbnailCache singleton
With the ThumbnailBuilder, taking in the MainWindow as dependency to get
to the ThumbnailCache doesn't really improve things compared to the old
singleton, and it makes ImageManager and MainWindows more closely
coupled.
Also, the ThumbnailBuilder should realistically be coupled in its
life-time to the ThumbnailCache, so a "uses" relation seems right.