Reworked initial load to run when the application is idle, this allows the UI to remain responsive to user input whilst loading.

Made SetupSafely a static method of Disposable, rather than an extension method.
Tweaked a few bits in GifImage to improve loading slightly, some mostly only relevant in debug mode.
Fixed an infinite loop on closing GtkSpriteInterface.

Fixed a missing invoke in disposing of IdleWorker.