GType: Use guintptr as the underlying storage if larger than gsize

Alexander Richardson requested to merge arichardson/glib:gtype-guintptr into main

This is required for CHERI systems such as Arm Morello, where gsize is not large enough to hold a pointer. As GType can contain pointers, we have to use uintptr_t instead.

The other commits in this MR ensure that the GType code compile without warnings when using CHERI LLVM. To actually be functional however, this depends on !3577 (merged) to initialize the GType variables.

Merge request reports