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.

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