Support core UI ops

Welp.. What to do about glib? I can't find working glib wrappers for
rust, so I'll probably have to do something horrible if I need to use
(e.g) GHashTable at some point.

Signed-off-by: Anton Lofgren <anton.lofgren@gmail.com>