input processing moved to separate thread

should be much easier to detect time between rolls of the mouse