google calendar implements ThreadedPollText correctly

The result of poll() needs to be a string, not a dictionary
add a timer_setup event for widgets

A Widget's _configure is called each time the screen is configured (e.g. if you
resize the screen due to xrandr calls or something), so we want to avoid
(re-)setting up timers in _configure.

Previously, widget authors were responsible for understanding this themselves,
and being cautious not to add timers multiple times in configure. Now, qtile
provides a timer_setup function where widgets can set up their timers safely
(i.e., it is only ever called once, but after it is safe to set up timers).

This patch is mostly driven by the new event loop. Since we use the qtile
object's event loop for adding timers instead of the global gobject loop, we
can't add timers in __init__ any more, so we need some other primitive.
BatteryIcon should use timer_setup as well
fix pango markup for python3
remove strange import proxy code

Data was basically just used as a proxy for importing
resources.default_config, which we did later in the file anyway. We can just
use a more direct way of supplying the default config.
get rid of ugly functions in utils.py

is*Like were generally ugly; they had bare excepts, required local imports for
use in xcbq.py (their only user) and weren't very clear about their logic.
Let's get rid of them in favor of something more explicit.
add -c option to qsh

Much like the shell, this option just runs the specified qtile command and
exits, e.g.:

qsh -c 'help'
qsh -c 'debug'
qsh -c 'eval("self.screens.index(self.currentScreen)")'
Remove outdated comment

As of 5c913fc77728f975ae22c53e21fff3fdae894686, this is done (boxes here means
group boxes).
Let xcffib pack ChangeProperty request
Use .to_atoms() and .to_strings()
Use packed xcffib synthetic events
Update xcffib version requirement

Qtile uses xcffib API for packing synthetic events that is stabilized in 0.1.8