GTK3 provides for additional input devices via xinput2. These include
touchscreens and continuous scroll devices. But wxWidgets does not have
specialized handlers for these events, so they double up for some
devices. Until wxWidgets allows us to handle these events, we specify
that the input handler should be the old-style GDK_CORE.
The reduces a little bit of WX dependency, and makes
the timing code a bit more type-safe.
Also adds a more testable interface for the accelerated
zoom controller.
This is done to avoid a big chunk of conditionally-compiled code
in the middle of the event function.
Also separates the zoom logic from the WX_VIEW_CONTROLS object
and isolates it in a separate class behind a clearer interface.
Add some simple tests for sane steps on GTK+3-sized scroll
steps.