evdev: fix input lag when processing input from output repaint
evdev: fix input lag when processing input from output repaint

When the compositor is in a repaint cycle, input is processed only once
per frame. However, a call to evdev_input_device_data() would handle at
most 8 events at time. When there was more than 8 events pending for a
given frame, input lag would occur. This was most visible with multi
touch input.

This patch changes the evdev_input_device_data() so that it will handle
all the events available in the fd. In order to do that, the fd is put
in non-blocking mode, so that it is possible to loop on read and stop
on EAGAIN instead of blocking.

kwm81/weston,udoprog/weston,Gnurou/weston,Fantu/compositor-spice,mchalupa/weston,eyolfson/weston,krezovic/weston,giucam/weston,jonnylamb/weston,eyolfson/weston,mchalupa/weston,udoprog/weston,xorgy/weston,Fantu/compositor-spice,jonnylamb/weston,giucam/weston,Fantu/compositor-spice,sir-murray/weston,sir-murray/weston,kwm81/weston,Gnurou/weston,xorgy/weston,Tarnyko/weston-xdg_surface_present,Tarnyko/weston-xdg_surface_present,krezovic/weston