added SetIdleFunc().
The user idle callback function can use a select on input channels and a time.After() to process external events without taking too much CPU
added comment with explanation for SetIdleFunction()
Merge pull request #4 from philippe-quesnel/master

added SetIdleFunc().