Hi looncraz,
Implemented DelayedMessageThread
* Single thread, low priority, used to intelligently awaken and process
* pending messages for all DelayedMessageLoopers.
Delayed messages are also now properly merged, and the one delayed
message currently being sent (B_COLORS_UPDATED) has a near 50% merge
rate while dragging the color control constantly. The result is that
CPU usage is much reduced and the changes to the system appear much
more smoothly and quickly.
I will be piggy-backing on this sysem for a DelayedInvalidate()
implementation as well. There are probably plenty of places where
delaying the sending of a message (however lazily and inaccurately)
as well as merging those messages will be of great use. As it becomes
more used, it may be necessary to increase the priority, or to create
more than one thread... for now, though, it's overkill :p