For models, use uint32 to store 32bit floats in the gvariant

This is a bit ugly, but there is no float type in gvariant, and
uint32 and ieee single precision float have the same size and
alignment requirements, so should be ok.