widgets: add webkit context object to wkline struct
widgets/volume: implement JSCore onDataChanged callback

Ref #20
Merge branch 'develop' into feature/jscore

Conflicts:
	src/widgets/volume.c
	src/wkline.h
Merge branch 'develop' into feature/jscore
widgets: refactor jscore functionality
widgets: refactor to run data callback in main thread
widgets: use widget_data_callback for sending data
widgets: rename callbacks to widget_*
widgets/email_imap: reorder arguments
widgets: wait on pthread cond before freeing memory

The widget threads will now block on a pthread mutex + cond until
web_view_callback() has used the data. This resolves a race condition
issue where the widget would free data before the callback had used it.
Merge branch 'feature/jscore' into develop

Closes #20
Closes #27