mouse: Add experimental high-resolution scrolling support

This adds a separate channel in the mouse interpreter for handling
high-resolution scroll data, as well as a separate scroll acceleration
curve. The high-resolution data is not used unless the "Mouse High
Resolution Scrolling" gesture property is enabled. It's currently off by
default, as the acceleration curve still needs work (being too fast at
lower scroll speeds).

TEST=With https://crrev.com/c/2037055 patched in Chrome, enable high
     resolution scrolling on a suitable mouse (tested with the Logitech
     Anywhere MX) and verify that moving the wheel fractions of a notch
     still scrolls. Run the unit tests.
BUG=chromium:888172

Change-Id: I5de07a4a4b93c93a7b2813b64f9e6ca0a62955bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/2037035
Tested-by: Harry Cutts <hcutts@chromium.org>
Reviewed-by: Sean O'Brien <seobrien@chromium.org>
Commit-Queue: Harry Cutts <hcutts@chromium.org>
25 files changed