"no-op" refactor of slider logic into an event handler

Move all of the logic for slider mouse event handling into a separate class, like with knobeventhandler.  This will make it easier to test sliders and add features later.

I had to clean up a lot, so it's not just a cut-and-paste.

TESTED=horizontal and vertical sliders.  Did not test midi interaction to confirm I didn't break anything there
Why was the addition of this line necessary? This leads to an endless loop if we have rounding issues between value and parameter. We are in an update pass from the co and set the co again.
If a CO is changed from the engine, the widget is updated via its COSlave, this emmits the update again and since it is a different instance it is not filtered. Result: The engine gets updates for all COs is changes itseleve
Is this the cause of the performance regression you see?