the maximum duration for which to block. ''However'', if timeout == Inf and there are
no remaining events to poll for, this method should return false immediately. This is
unfortunate but necessary so that this ExecutionContext can yield to the Scala Native
global ExecutionContext which is currently hard-coded into every test framework,
including JUnit, MUnit, and specs2.
Returns:
whether poll should be called again (i.e., there are more events to be polled)