Add a gecko-based implementation of ThumbnailViewer

This is useful in applications using Gecko, since the old
ListView version suffers from a sticky scroll thumb when
a GeckoFx windows is in use.
This diff is very confusing. What really happened is that the whole original ThumbnailViewer was moved to a new class, and replaced by this version, which just defines an interface and delegates everything that isn't inherited from Control to one of the two possible implementations.