Cross platform select-like function
This select-like function allows the programmer to wait for activity on a set of things.
Similar to the TCP select function it should have implementation for TCP, Pipes, Serial ports, etc.
Moreover, it should be extendable.
On windows this can use
WaitForMultipleObjects on posix this can use