added hidden threshold support to battery widget

@tych0: removed unused constant, closes #247
Config is not used in qsh and Client

Closes #252
Only initialize default config when necessary

Closes #251
Provide context when using the addgroup and delgroup hooks.

- before

def main(qtile):
    @hook.subscribe.addgroup
    def goto_group():
	if hasattr(qtile, 'currentScreen'):
	    qtile.groups[-1].cmd_toscreen() @hook.subscribe.addgroup

- after

@hook.subscribe.addgroup
def goto_group(qtile, name):
    if hasattr(qtile, 'currentScreen'):
	qtile.groupMap[name].cmd_toscreen()

Closes #248
CHANGELOG++
Really fix #251

Python doesn't have lazy semantics :-)
Fix typo
Default the hide_threshold parameter to None

Sometimes for whatever reason (power draw oddities, floating point "bugs",
etc.) the power threshold goes above 100%. This ensures that the battery widget
is only ever hidden if you actually wanted to hide it.
Fix crashes due to logging problems
fixed systray icon minium height may be 0