[Runtime] use a eventfd to suspend/wakeup workes

I could not figure out a non-CAS algorithm for WorkerWakeupStrategy::one
therefore we use a CAS loop and have to see how expensive it is.

Using a eventfd has the advantage that we can't loose wakeups.
If a worker registers it self sleeping by incrementing sleepingWorkers
and another calls write before the first calls read the first will
not block at all.
17 jobs for wakeup_worker_per_eventfd in 12 minutes and 8 seconds (queued for 2 seconds)