Move Object#exit method to at_exit callback

This ensures that it will be called when ruby exits, e.g. when
SystemExit is raised instead of exit() being called. Also, it doesn't
stop other exit callbacks that the user may have set.
Stop Glib from printing SystemExit stack trace

The Glib2 library registers an exception callback, and prints the stack
trace for ALL exceptions. Override this method so that SystemExits are
re-raised and not debugged.