Mark additional objects with RB_GC_GUARD
Use actual detection for rb_struct_alloc_noinit