windows: call idle handles on every loop iteration

This mimicks what the unix implementation does: call idle handles on
every loop iteration. The guarantee that it runs on every loop iteration
makes it easier to predict and opens up more use cases.

Note that the name uv_idle is now a bit of a misnomer. There is
actually no guarantee that libuv completely processed all i/o
when an iteration ends. The windows implementation at least limits
the amount of callbacks processed in a single iteration to avoid some
handles getting a disproportionate amount of cpu attention.
test: reflect new idle semantics in test

Update the `idle_starvation` test to verify not only that idle callbacks
are called, but also that they are called once per loop iteration.