Fix memory leaks around gtk_get_current_event()
gtk_get_current_event() makes a copy of the event and returns the copy, which needs to be freed.
For the cases where we create a dummy event, we need to ref the GdkWindow we set on it, as gdk_event_free() will unref it.