Refactor widget data structures

A temporary refactor of widget data structures to avoid using globals,
along with better organization of widget-specific functionality. The threads
are now being started after the correct signal ('window-object-cleared').
Widget threads are named for debugging.

Some of these changes will be replaced later when JavaScriptCore objects
have been implemented.
Fix now playing widget ID
widgets/desktop: split window_title to own widget

All globals have also been removed from these widgets.
widgets: add logging on thread creation
config: get initial support for a json config file
widgets: add autotools config.h to widgets.h
config: port all the widgets that need configuration to the new system
Revert "widgets: add autotools config.h to widgets.h"

This reverts commit a2b03f384b6595a31ca7512a6df389cdef70b75d.
Revert "widgets: add logging on thread creation"

This reverts commit 6c5c1cc8be411f4efa7ddd6b1140541a0921fbfd.
Revert "widgets/desktop: split window_title to own widget"

This reverts commit f148bc3b348bbc1bd17d4b628c537d5197e9a6e2.
Revert "Fix now playing widget ID"

This reverts commit 44ee03a832409bf5bdfd6cc63a346636639ee37c.
Revert "Refactor widget data structures"

This reverts commit e7bbeb42dce8f69f3f18540d09b2a50e5256dc1b.
Merge remote-tracking branch 'ricardo-vieira/json-config' into develop
Code and whitespace cleanup

Widget names have been converted from CamelCase to snake_case. A larger warning
is displayed in stderr if the config file can't be found or is invalid. The
default theme uri has been fixed. The config file has been renamed to
"config.def.json" to indicate that this is the default config.

Ref #29
config: add position and enabled properties to widgets
Update README
widgets: refactor data structures

Ref e7bbeb42dce8f69f3f18540d09b2a50e5256dc1b
widgets/desktop: split window_title to own widget

All globals have also been removed from these widgets.

Conflicts:
	src/widgets/desktops.c
	src/widgets/widgets.h
widgets: handle widget disable flags from autotools
widgets/battery: get rid of globals