Use a consistent font in the default config
remove duplicate code
add support for more colors in the gradient
Make tests more robust (again)

- Kill Xephyr if qtile doesn't start

- Wait for Xephyr to come up or for Xephyr process to terminate
  (possible cause for hang if Xephyr comes up, but with wrong DISPLAY or
  xcb problem)

- Wait for qtile to respond or error out using pipes (possible cause for
  hang if qtile gets caught in a loop before able to respond to status()
  call)
Add short sleep after rotate and resize
Add long timeouts to tests in case things go unforeseeably wrong

Closes #454
Fix handling of messages and the systray

- Properly handles incoming messages (let xcb drop high bit on
  response_type)

- systray parses ClientMessageEvents "properly" (use event.type and
  event.data)

- systray only tries to set icon for `SYSTEM_TRAY_REQUEST_DOCK` messages
  (see
  http://standards.freedesktop.org/systemtray-spec/systemtray-spec-latest.html)
Merge branch 'develop' into cffi

Conflicts:
	libqtile/drawer.py
	libqtile/widget/systray.py
Use the real window ID for ClientMessages from systray
don't add systray icons to the SaveSet

This crashes on xcffib, and isn't strictly necessary to get things to work. We
should re-enable it at some point, though.