Break _ecore_x_input_handler into task-specific sub-handlers

This function is a little long-winded, and would stand to get even
longer with the upcoming "axis update" changes. This commit breaks
the function into individual sub-handlers that are each responsible
for a single kind of output event (raw, multi, and mouse).
WIP: Select XI2 events whenever possible

In preparation for the "axis updated" events, we replace the function
'ecore_x_input_multi_select' with a generic 'ecore_x_input_select'
that requests the X server to forward XI2 events for all slave
(i.e. physical hardware) devices.

The just-rewritten _ecore_x_input_handler has sub-handlers only
pass along appropriate events, ensuring this change doesn't suddenly
cause applications to recieve XI2 events from sources that they
haven't already been getting them from.

~~ TODO ~~
 * Make sure that we *want* to register for all XI2 events where
   we'd normally ask for multi events
Define and implement new Ecore_Event_Axis_Update events

These events watch for updates to arbitrary device axes (e.g. the
pressure or tilt axes of a pen, the primary axis of a USB control
knob, etc.)
Implement EVAS_CALLBACK_AXIS_UPDATE event and friends

Adds a new EVAS_CALLBACK_AXIS_UPDATE callback type that can be
used to recieve information about changes to input device axes.
This is not wired up to anything yet: corresponding additions
to Ecore are still needed to actually have this be useful.
Wire the Ecore and Evas implementations of axis update events together

Adds a handler for axis update events to ecore_input_evas which
simply feeds Evas with the event.
DEBUG: Add axis update logging to evas-multi-touch.c

Just making sure that these events are actually getting through!
DEBUG: Make evas-multi-touch demo be pressure-sensitive