Good idea for `self.usable?`, `Kernel.warn WDM_SETTING_SUGGESTION` shouldn't be in `start`.

For `init_options` I would define `WAIT_FOR_DELAY_DEFAULT` variable at the top of listener.rb:

``` ruby
def _init_options(options = {})
  { debug: false,
  latency: nil,
  wait_for_delay: WAIT_FOR_DELAY_DEFAULT,
  force_polling: false,
  polling_fallback_message: nil }.merge(options)
end
```