Improve debugging some more

Looks like we'll need the source as well to distinguish some multi-faceted
devices, i.e. tablets sporting touchpads, pad buttons, or eraser pens in
addition to pen input, all of which which present as separate devices.

Quite a lot of non-Wacom tablets present all of these devices under the
same name when used with the evdev driver.  See the output people have
reported in #29.

Getting the references we store right will be important for preferences
driven inclusion or exclusion of devices, bug #40.
Forbid zero-pressure events if a button is down

Devices using the Linux evdev driver sometimes report zero pressure for an
axis when the value hasn't changed since the last reading. This results in
seemingly random breaks in what should be smooth brushstrokes. This
behaviour is common with Monoprice, Genius, or other UC-Logic based
tablets, which typically only have pressure inputs. Tilt inputs suffer from
this too, for Wacom devices using evdev.

Attempt to fix this by reusing the last good reading for the axes in
question if a button is held down when we receive a zero reading. For
pressure this should be fine in all cases. For tilt we may be discarding
valid readings, but who holds their pen exactly vertical anyway?

This may or may not fix the problem; earlier reports show spurious button
presses at the times when the pressure hits zero (but it's difficult to
read someone else's "xinput test" trace!)

This initial attempt at a fix depends on there being no spurious button
presses or releases at the same time as the input dropping to zero or
resuming.

Addresses #29, but perhaps not for every tablet (please test!)
Merge pull request #2 from mypaint/master

Pulling in updates from Upstream