gdkdevice: Add GdkDeviceTool to identify device tools
GdkDeviceTool is an opaque object that can be used to identify a given tool (eg. pens on tablets) during the app/device lifetime. Tools are only set on non-master devices, and are owned by these. The accounting functions are made private, the only public call on GdkDeviceTool so far is gdk_device_tool_get_serial(), useful to identify the tool across runs.