Use the WelsEventOpen interface with an event name on windows as well

This unifies the event creation interface, even if the event
name itself is unused on windows, allowing use the exact same
code to initialize events regardless of the actual platform.

Some ifdefs still remain in the event initialization code, since
some events are only used on windows.
Use unnamed semaphores on linux

This avoids the risk of namespace collisions for named semaphores
(where the names are global for the whole machine), on platforms
where we strictly don't need to use the named semaphores.
Use an event name that contains the process id

This reduces the risk for namespace collisions if two processes
run the encoder simultaneously without address space layout
randomization.
Merge pull request #417 from mstorsjo/unify-event-init

Unify the interface for creating/deleting event objects