demo: Add GUI client demo

Added a demo program here, as I haven't the hardware required to convert specified programs.
This is using GTK3, has a method in place on GTK's main loop to probe notification, even though we don't do that yet. It shows how a purely client program can be implemented, and raises any potential issues to the surface.

Such as being disconnected when get_value fails from an unknown key, the overly verbose methodology to set a key, and the issue with clients setting their own smack labels. This needs to be done inside the library and before it hits the serialize function (which causes the assert)