ruby: evaluate signal callback in out of trap context

We can't use Mutex in trap context since Ruby 2.0.0. Method call for
Ruby/GLib2 object uses Mutex internally. So we can't call GObject
based object's methods in trap context.

We just write a notification to notification pipe in trap
context. Event loop notices the written notification message in the
next loop and evaluates signal handler code in out of trap context.