Write things as "debug" where suitable.
Added explanatory text.
Replace boost::shared_ptr with std version.
Fixed issue with polling.

There was an issue where the polling loop would be called continously,
resulting in 100% cpu usage.
Clarify that the second argument is microseconds.