allow passing "weak arguments" to signal callbacks
allow passing "weak arguments" to signal callbacks

This means that the arguments are passed just like the existing
user_args, but they are stored as weak references to prevent a callback
from keeping its user_args alive. The emit code transparently
dereferences the arguments before passing them to the callback.

If any of the arguments are cleaned up, the callback is no longer called
(it's not actually automatically removed from the list yet, but it will
be).

harlowja/urwid,rndusr/urwid,wardi/urwid,hkoof/urwid,douglas-larocca/urwid,drestebon/urwid,inducer/urwid,tonycpsu/urwid,ivanov/urwid,rndusr/urwid,inducer/urwid,foreni-packages/urwid,hkoof/urwid,harlowja/urwid,douglas-larocca/urwid,rndusr/urwid,inducer/urwid,ivanov/urwid,tonycpsu/urwid,douglas-larocca/urwid,urwid/urwid,hkoof/urwid,harlowja/urwid,wardi/urwid,foreni-packages/urwid,wardi/urwid,urwid/urwid,ivanov/urwid,drestebon/urwid,foreni-packages/urwid,drestebon/urwid,tonycpsu/urwid,urwid/urwid