log: categorize logging and color log messages
config: refactor config getter functions

Instead of returning a json_t that needs to be handled,
wkline_get_config and widget_get_config now accept a void pointer that
will receive the config value. json_typeof() is used to detect the type
of the config value, and the appropriate json_*_value() function is used
to assign the value to the value pointer.

The *_get_config() functions now return an int error code if they fail,
which can be handled if necessary.

Ref #42
widgets: log JSON data if debug option is set in widget config object

Fixes #42
Print version number and build time on startup

Ref #41
Revert "config: refactor config getter functions"

This reverts commit a34090699a62e5c7efe43ba0b1a31079215f5246.

Will try to find a better way to do this later.
widgets: update debug code to work with old config funcs

Ref #42
Add override_redirect flag to wkline's window

wkline now works in dwm (and should work in monsterwm)

Closes #45
waf: add build time to wkline.c defines

This adds the defines only to wkline.c to avoid rebuilding the entire
project.

Ref #41
config: simplify fetching widget configuration

Closes #41
widgets: don't bother supporting an enabled property yet

Ref #41
main: add web view init function

This function disables all third-party plugins and sets various webview
settings before returning the webview.
config: add convenience macros to fetch config values

Ref #44
config: rename widget JSON config pointer to json_config
config: add macros for overriding default config values
widgets/external_ip: implement config with default values
widgets: implement new config system for remaining widgets

Ref #44
config: remove config overrides from config.json
widgets: add datetime widget
widgets: name static widget_*_send_update functions consistently
widgets/weather: remove null values from query string if location is set