Allow touch to grab and maintain pointer control from idle puck

This patch changes the how pointer access is arbitrated. Before,
any non-touch tool would be immediately granted control over the
pointer, preempting touch itself. This is problematic if the user
happens to use a device with a puck (i.e., a Cursor device) since
the tool is likely to be in-range but idle for a significant
ammount of time.

This patch adds conditions which allow touch to grab control from
the puck if no events have been seen from it in a while. In addition,
the puck may not immediatley regain control from the touch device
while it is in use due to potential hardware jitter.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
Revert "Unify wcmFingerMultitouch and wcmSendTouchEvent"

This reverts commit 67daf21bdb7b32c27818bffaf56849a522d23477.
Revert "Don't emulate a mouse when multitouch is enabled"

This reverts commit f38dd5736e2df7c3eec0338bd0c7bef8c562b979.
Have direct input touch use server emulation to move pointer

The X server provides pointer emulation for the first touch on
direct-input (touchscreen) devices. To make use of this, we need
to short-circuit our internal first-touch emulation and that the
gesture engine immediately enters multitouch mode (but only for
touchscreens!)

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
wacom 0.25.99.2

Signed-off-by: Jason Gerecke <killertofu@gmail.com>