i3 companion: Daemonise & handle keybindings directly

NOTE: This requires both python-Xlib and python-xpyb to be installed for
the key bindings handled by i3companion to work!

- Adds epoll() based EventLoop class
- Adds an XKeyBinder class that uses xcb to grab and dispatch keys
  - Uses python-Xlib for some utility functions not covered by xcb
    (translating key names to keysyms to keycodes).
  - I can't use python-Xlib exclusively as the underlying socket is
    never drained making it useless to use as part of an epoll() based
    event loop.
- Converts some keybindings from i3/configs/base to i3companion - only a
  limited number so far where I was previously calling
  i3companion/command.py from i3.
- Currently the keybindings in i3companion are hard coded - the next
  step is to give it it's own config file.