Mouse/Scroll events now use DeviceMotion args (aka double)
Window callbacks send relative device motion.
They store previous positions in a cache, initially set to 0.