poppler test: use Power Assert

Test::Unit 3.0.0+ supports Power Assert.
Support --enable-debug-build in all packages
gio2: support GLib 2.42.0

Annotation for GObject Introspection is added to
g_pollable_input_stream_read_nonblocking() since GLib 2.42.0.

See also: https://bugzilla.gnome.org/show_bug.cgi?id=730493
gio2: support GLib <= 2.36.0
gdk3: try to add constants in Gdk::Selection (not working)

The following error occurred:

    % ruby -r gdk3 -e 'p Gdk::Atom.intern("PRIMARY")'
    /.../gobject-introspection-2.2.1/lib/gobject-introspection/loader.rb: line 108
       GLib-GObject-CRITICAL **:g_boxed_copy: assertion 'G_TYPE_IS_BOXED (boxed_type)' failed
    nil
gio2: fix typo

read_raw_cmopatible ->
read_raw_compatible
          ^^
gdk3 test: add a test for Cairo::Context#set_source_color(Gdk::Color)
gdk3: accept Gdk::RGBA for Cairo::Context#set_source_rgba
gdk3 test: use setter= method
gdk3 test: move Cairo::Context.new to setup
gdk3 test: reduce scope instance variable

`output` and `surface` are only used in setup.
glib2: In Rubinius 2.2.x, `rb_cMutex` is defined as macro.

ref: https://github.com/rubinius/rubinius/blob/04f38de0f0644ba6c099fb3675e8ae2e8f73d08d/vm/include/capi/ruby/ruby.h#L388
glib2: remove case divied with FL_TEST, FL_SINGLETON

It changes always call superclass.
glib2: Indent