Basically this patch adds a signal to gtkwidget (replacing one of the padded
placeholder signals at the end of the class definition).

The signal simply allows triggering a widget signal handler and passing data
through it.  In other words, an application would connect a signal handler
to a widget for the "user_action" signal.

The user_action handler has the signature

   void handler(GtkWidget *w, gpointer emitter_data, gpointer data)

The signal handler can be triggered anywhere in the application by
using the function.

  gtk_widget_user_action (GtkWidget *widget, gpointer emitter_data)

This allows the emitter to trigger a widget with arbitrary data.
I feel this is needed this for easily triggering widgets via menu-item,
toolbar-button, and keypress.  Currently doing this is simply too
unwieldy.

I'm happy to justify this patch at greater length if anyone is interested (grin)
Thanks,

Kent Schumacher
kent@structural-wood.com

