value, object: Honor signal arguments transfer annotation
This requires parts of !860 (merged), !861 (merged) and gobject-introspection!408 (merged) and gobject-introspection!409 (merged), and it's pretty much just one commit (the last one):
In case arguments have signal arguments with transfer that is not none we need:
- not to release them once we've emitted them
- release them after the js callback has been invoked
This is sadly not working well with boxed types that are not refcounted (gobject-introspection!409 (merged)), but it's relevant with refcounted items and objects.
Add tests.