geanyobject: properly register signals
If possible, register signals with the proper argument types (boxed or gobject).
This is required for successful introspection of the signals and important
for GI-based plugins.
As for the marshallers, if available use a predefined one from glib. Otherwise
use the generic marshaller available since 2.30 (in theory all signals could
use that one but it has a bit of overhead).
This builds on the gboxed conversions of earlier commits.
This also bumps the minimum glib requirement.
- g_cclosure_marshal_generic requires 2.30 (if NULL is passed as marshaller
to g_signal_new())
- G_TYPE_KEYFILE requires 2.32