Asynchronous Image Loader in Swift. Caches using an NSCache.