Fixed CFRunLoopStop that will stop other image operation

The `CFRunLoopStop(CFRunLoopGetCurrent())` will stop other image operation's runloop if not in its thread, because network connections are asynchronous. So stopping runloop must run in its own thread. @rs do this to prevent  it from happening in `cancel`, but not in other places like `connectionDidFinishLoading:(NSURLConnection *)aConnection`.