Added an optional timeout parameter...

Added an optional timeout parameter to limit the maximum frequency of events (in milliseconds). This is particularly helpful on devices like a Apple trackpad which is much more sensitive than a typical mouse wheel.