Fix firefox horizontal scroll.
Detect scroll event first then use a specialized function to get delta to avoid testing event version at each iteration.
Implement the standard wheel event for modern browsers.