create a new context only if we have workers to handle it
we need to free the wrapper structure everytime

not only if iomux_add() succeeded
the fd_set datatype has an hardcoded size on linux

which limits it to be used for 1024 filedescriptors.
epoll() would overcome this limit but it's not portable in this case
so for now I preferred to use the same hack used by libevent
(a cleaner solution will be pushed later)