work around picky SO_REUSEADDR semantics on Windows
wrap lifetimes of CattaServer and CattaSimplePoll in WSAStartup/WSACleanup