Fix setting float array properties on devices.
Currently float array properties get "squished together" when they're applied to a device. This is because a format of 32 from/to
XGet/ChangeDeviceProperty actually means that each element takes
sizeof(long) bytes, not the expected 4 bytes. The float case was the only one that didn't account for this previously, so setting properties like the Coordinate Transform Matrix was broken.