demo: Convert GTK client to new API

This commit leverages the new API to drastically reduce the amount of
code required to interact with Buxton. Future commits will strip the
code back even further, requiring much less boiler plate code and some
reusable initializers.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>
demo: GTK Demo code cleanup

To make the demo useful to others, the demo should provide the cleanest
possible code, and be very clear in everything that it does. For this reason,
Buxton initialisation is handled within a buxton_init function that
does everything required to use the Buxton API.

It should be noted this commit also makes positional arguments much more
obvious by defining GROUP, LAYER, etc, within the header file, ensuring
the code is trivial to understand.

We also remove some previous redundancy, by condensing our notification
callback and main buxton callback into one function, enabling an easier
to follow and cleaner demonstration.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>