Remove a bit of unnecessary overhead in Poller

A class with instance variables is a little less overhead than a Struct, and it's immutable.
Add Poller::Accessibles#to_ary

Makes it possible to write

  readables, writables = poller.poll(0)

nifty, eh?
Change the subscription aware example to use Poller

Using Poller#poll with a timeout of zero is more efficient than #read_nonblock and catching the AgainError.