unix, windows: add debug function uv_print_reqs()
unix: fix EMFILE busy loop
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 (16 or 32 kB) to avoid using up too
much virtual address space on 32 bits architectures.