Scrollbar: fix the slightly broken (slider stuck near top) behavior.

mostly boils down to calling SetPosForY(0) when the mouse is above the slider, but also we had inconsistent calculations. As a sideeffect the slider is now centered on the mouse instead of being below it.
Scrollbar: let SetPosForY take negative values.

we were clamping the high end already so its more consistent and we repeat ourselves less
EventManager: allow dragging controls to retain focus

scrollbars specifically were annoying to use because you couldnt leave their bounds with the mouse. This enables us to leave the bounds of a control and still deliver MouseOver events to it.
Window: we now allow mouseOver events to controls outside their bounds

we need to compensate for this fact to prevent sending “negative” coordinates that would cause misplaced events
ScrollBar: consider the offset when grabbing slider

now we can click and drag the slider without it having to “jump” to realign itself with SliderRange