This was needed for some other architectures, even though it is problematic
that we have to do it (it should really be the default for the parent
GObject struct).
This uses an alternate idea for setting the structure alignments. Lets
see if this silents the ARM builder cast alignment issues.
GSlice (which is what is used for GObjects) guarantees a 2-pointer size
allocation, which means we can be ensured that the alignment is at least
8 bytes.