build: removed -Werror when using the debug flag
widgets/mpd: free connection on error and in the cleanup handler

It appears impossible to detect if it's safe to free the mpd connection,
this commits reverts the cleanup to freeing the connection on error, and
in the thread cleanup handler. This resolves the issue of double-freeing
the connection.

Fixes #54
Merge remote-tracking branch '5paceManSpiff/werror' into develop
log: lock mutex when printing to avoid race conditions on thead init
waf: update compile flags to be more strict
Fix gcc warnings after updating C dialect and compiler flags
widgets/battery: fix errors when compiling with optimizations enabled
widgets/weather: fix errors when compiling with optimizations enabled
main: use "screen" instead of "monitor" to be consistent
Cleanup and add global includes to widgets.h/wkline.h
Add include guards to wkline.h and widgets.h
waf: update widgets build rule
wkline: refactor wkline struct

Properties from config.json are now stored directly in a config struct
similar to the widgets.
widgets: make wkline config struct available to widgets
widgets/xcb: use screen number from config
widgets/magick: use height from config
Move global macros to wkline.h
widgets/notifications: remove static declaration from header
Move web_view ptr to wkline struct
Remove unnecessary forward declaration