RevBy: Michael Hasselmann
A new, default implementation for MImHwKeyboardTracker: we look for
a readable evdev device which has a SW_TABLET_MODE switch. If found,
we use that device for determining the presence/availability of the
hardware keyboard.

The previous keyboard presence methods (Maemo5, contextsubscriber)
are used when the compile-time options select them.

Ordinarily, evdev devices are only readable by root, but this is
changing: upstream developers point at using udev rules and uaccess to
make this device available to the active seat.

See http://www.spinics.net/lists/hotplug/msg05639.html and surrounding
discussion.

This solves a big part of the OSK use-case for OLPC: we only want
Maliit to activate when the laptop is "folded over" into tablet mode,
with the hardware keyboard physically obscured. This is communicated
via SW_TABLET_MODE. This solution is also expected to work for
other platforms with similar configuration.