Refactor a lot of code to use worker threads for widgets

This is in preparation for the C port of the current daemon. Currently
a desktop widget is implemented, which reads EWMH properties about the
number of desktops and clients, as well as the current client name.
Move all XCB/EWMH stuff into desktop widget function
Update statusline on EWMH property change
WAIT for xcb event instead of polling
Add date/time widget
Start widget threads after the page has loaded
Add weather widget
Make theme URI configurable in config.h
Update README
Merge branch 'widget-threads' into develop