make win32 signaler support ephemeral ports

This patch makes the win32 codepath support both ephemeral ports and the current fixed port system. When using ephemeral ports, the critical section code is bypassed.

To switch to using ephemeral ports, change the constant "signaler_port" in config.hpp to 0. (Perhaps this could be made the default in a separate patch)

Supporting both allows those who have problems using ephemeral ports to switch back easily. (Notwithstanding the fact that Mutex instead of Event should have been used to implement the critical section)