Event based loader thread

To Keep the application responsive during long loads (typical when
operating on slow drives or network shares), the image loading
operation has been offloaded to a second thread.