HttpAssetProvider: Move cache file disk write (on the first download if last modified is used and available) out of the main thread via QThreaPool. This is implemented in the provider as it handles the write currently and makes AssetAPI skip its store. If this would be implemented for all providers in AssetAPI it would require some changes to the load flow (although minor and doable it makes more sense to leave the provider handle this).
HttpAssetProvider: Make this provider queue completed transfers and feed them to AssetAPI based on how much time they spent for the remaining loading time. This logic breaks once transfers have been served for 16msecs during a mainloop frame, logic is exactly the same as for LocalAssetProvider. Implemented threshold by size logic to perform cache write in the main thread. This logic is currently disabled by making the threshold 0 (everything async) but is there for easier debugging for profiling reasons. As noted in the pull request discussion even opening a file can block big time even if the write operation would be quick etc.
HttpAssetProvider: Make HTTPASSETPROVIDER_NO_HTTP_IF_MODIFIED_SINCE logic use the same completedTransfers list for sending the tranfer to AssetAPI. Cleans up the .h file nicely.