Make GVariant/GHash opaque types compatible with CHERI
Currently these types use gsize arrays, but on CHERI-enabled architectures this will not guarantee sufficient aligned. When targeting Arm Morello this will result in 8-byte alignment, but pointers require 16-byte alignment and this results in SIGBUS errors at run time. Simply changing the type of the arrays to be 128-bit integers on Morello is somewhat wasteful for GVariantBuilder and GVariantDict, so this probably needs to be fixed before this MR can be merged.
Split out from !3135 (closed)