refine-multi-layer-process
Merge some WIN32 ifdefs that were directly next to each other
Change the unix version of WELS_EVENT to sem_t*

Typedeffing WELS_EVENT as sem_t* makes the typedef behave similarly
to the windows version (typedeffed as HANDLE), unifying the code
that allocates and uses these event objects (getting rid of
most of the need for separate codepaths and ifdefs).
Share the declarations for WELS_EVENT arrays between win32 and unix codepaths
Simplify code by allocating the arrays of events and thread handles statically

This avoids having to malloc a whole lot of separate arrays,
all which are all bounded by MAX_THREADS_NUM.
Do a blocking wait with WelsMultipleEventsWaitSingleBlocking

There is no point in doing a timed wait here - there's no work
that we can do if the wait timed out, and sleeping for 1 ms
inbetween doesn't help, it only adds potential extra latency
to reacting to threads that need more work to do.
Merge pull request #407 from mstorsjo/do-blocking-wait

Do a blocking wait with WelsMultipleEventsWaitSingleBlocking
Merge pull request #399 from volvet/refine-multi-layer-process

refine-multi-layer-process
Merge pull request #405 from mstorsjo/simplify-threads

Adjust WELS_EVENT definitions to allow sharing more code between unix and win32 codepaths