unix, windows: add debug function uv_print_reqs()
unix: implement a better threadpool

Split the threadpool in two: a small one for CPU-bound workloads and
a large one for I/O-bound workloads.

The CPU threadpool has approximately as many threads as there are CPUs
in the machine.

The I/O threadpool can have hundreds of threads, which is okay because
they should mostly be blocked in system calls.

I/O threads run on a reduced stack (32 kB) to avoid using up too much
virtual address space on 32 bits architectures.
test: fix 'buffer too small' fmt() warning
bench: fix up fs_stat
unix: make threadpool spiffier