feat: add hacky explicit queuing implementation for packets
Previously, I was relying on the promise resolution order of `await
this.waitForBufferStatusLow(...)` to always resolve in the same order as
the promises were awaited, which in practice seemed to be the case, but
I wasn't 100% sure would always be true.
So just to verify, switch this over to use an explicit queue and see if
that changes any of the e2e test results.