This implementation does not include key bindings or a status icon,
because I wanted to keep it small, and both of those require linking
with and initializing GTK+.
Older versions of GObject had the "user data" parameter of most signal
handlers marked as required, some value had to be passed in, even if it
wasn't necessary.