Refactor Linux keyboard adaptors for base class

Extract a base class to share between the CombinedKeyboardAdaptor
used by Trusty and the CinnamonIbusAdaptor used by Wasta 14 (aka
Mint 17/Cinnamon).