Simplify method
Avoid duplicate method call
Start removal of special-casing for :gboolean
Create GirFFI::Struct class, behaving like GLib::Boolean

By making both these classes behave like an FFI Type with additional
knowledge on how to copy from and to pointers, InOutPointer can be
greatly simplified.
Remove unneeded outgoing value adjustment
Simplify implementation of InOutPointer.for
Hide implementation details of GirFFI::InOutPointer
Remove rescue now that FFI.type_size knows about all types
Move value conversion code to InOutPointer
Move ArgHelper.object_to_inptr to InPointer.from_object
Inline ArgHelper.allocate_array_of_type
Re-implement SizedArray#each using InOutPointer#to_ruby_value

This makes ArgHelper.ptr_to_typed_array obsolete.
Move ArgHelper.object_pointer_to_object to FFIExt::Pointer#to_object
Move ArgHelper.wrap_object_pointer_by_gtype to FFIExt::Pointer#wrap_by_gtype
Move ArgHelper.ptr_to_utf8 to FFIExt::Poiter#to_utf8
Remove unused constants