Use a safe version of `emit` once glib-rs has one
glib::ObjectExt
already has this:
fn emit<'a, N: Into<&'a str>>(&self, signal_name: N, args: &[&ToValue]) -> Result<Option<Value>, BoolError>;
we are copying its implementation, basically just to avoid doing a lookup of the signal name. Instead, add a function to glib-rs that takes a signal_id, and use that.