add deviceID to keyboard/mouse-events

so we can support multi-pointer devices.
also prepare for multi-keyboard setups (mainly because that's how MPX
does it)
dummy support for multi-pointer events

we always use devID=0, so we're only half-way there.
but at least the API is implemented
adjust multipointer-API: devID comes before event

e.g. if mouse #2 moves to 812/432, we output
 "mouse 2 motion 812 432"
rather than
 "mouse motion 2 812 432"

also output full list (last element was missing)
adapt to multi-pointer API (and enhance compat)

drop the device ID (in patch).

only output coordinates if mouse is moved (not all the buttons as well)
[gemkeyboard]/[gemkeyname] abstractions
reverse keyboard output: keyname->keynumber

for compatibility with old [gemkey*] objects
disable [gemkey*] externals when using multicontext

so we fallback to the abstractions

Closes https://github.com/umlaeute/Gem/issues/43
Closes http://sourceforge.net/p/pd-gem/bugs/232/