BUG: restructure the event collapsing timers so they only run once

Before, a singleshot would be triggered once each time the timer
ran out.  Now, the timer interval is extended so that one a single
invocation occcurs even if a large number of events come, as long as
no two events are separated by more than half a second.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21607 3bd1e089-480b-0410-8dfb-8563597acbee