added support to use other docks in qtile

It adds and removes gaps when strut is set in the window and makes the
docks static
Save group:layout and screen:group on restart

Closes #200
Put systray background behind icons

...instead of the whole bar.

Closes #216
add support to drag groups in group box

Closes #210
added _NET_WM_STRUT ewmh property and fixed tests
Update battery widget on __init__

Closes #217
fixed the screen flickering when group is changed

first show the clients of the new group,
then hide clients from the old one

Closes #220
fixed systray when there icon_size is used

..and there aren't normal hints

Closes #219
Merge pull request #211 from Roger/external_docs

added support to use other docks in qtile
update _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING in root window

this is needed for third party tasklists and drag and drop of tabs in
chrome
update _NET_ACTIVE_WINDOW when focus change

this fixes display the active task in third party tasklists
Merge pull request #221 from Roger/ewmh_fixes

Ewmh fixes
add TaskList widget it's like GroupBox for windows
added focus to max layout
store nw icons in window.icons dict

it updates when the window is managed and when received a _NET_WM_ICON
PropertyNotify
added hook net_wm_icon_change
added support to pad left/right top/bottom individually in Text Frame

ie. layout.framed(self.borderwidth, bordercolor, [10, 0], [0, 10])
added windows icons to the task list widget
don't ignore margin_x in TaskList widget icon
Merge pull request #222 from Roger/tasklist

Added new tasklist widget with net_wm_icons