I think https://github.com/amphp/artax has everything that might be required to implement a fully async client in pure PHP. That would nicely fit between CurlHttpClient (better portability) and NativeHttpClient (really async).
That non-trivial for sure, but maybe someone would like to give it a try?