Defaults refactoring

These commits allow you to have a global widget defaults for things like fonts and such. You can still override these settings on a per widget basis, but these commits make it so you can avoid such things by hand. Most people already had:

```python
widget_defaults = dict(
    font = 'Consolas',
    fontsize = 18,
    padding = 3,
)

 ... widget.Textbox(**widget_defaults)
```

but now all you need is the first part; qtile automatically applies the defaults for you. The config option is called `widget_defaults`, as above.