Download and cache image with multithreading, use AFNetworking for core downloading.