Workaround for Surface Pro 3 Eraser
This patch rewrites most of kis_tablet_support_win.cpp to support basic
use of the eraser key on the Surface Pro 3. The keyissue is that the
SP3 eraser button does not register being held until the stylus is
touched to the screen. It generates a series of false stylus button
presses.
This patch attempts to handle those issues by watching for "inline"
cursor changes. If a packet pops up with a different cursor ID, we will
dispatch a release event and a tool switch signal. This breaks some
layers of abstraction but it seems to work.
Differential: https://phabricator.kde.org/D146
BUG: 341899