Add debounce

Add a real debounce--includes pure functions and prototype methods, and optionally accepts a scheduler.

Close #17
Perhaps "Wait for a burst of events to settle"?