object: check the interface info before freeing it

As the comment says, there may not be any interface info,
but g_base_info_unref() crashes if passed NULL.
system: fix return value of gc() and breakpoint()

These need to return void (undefined), and not themselves (which
is what happens if SET_RVAL() is not called, due to spidermonkey
reusing the slot for arguments.callee)