writeZDouble
Writes a float in a variable-length format. Writes between one and five bytes. Small integral values typically take fewer bytes.
ZFloat --> Header, Bytes*
Header -->Uint8. When it is equal to 0xFF then the value is negative and stored in the next 8 bytes. When it is equal to 0xFE then the value is stored as a float in the next 4 bytes. Otherwise if the first bit is set then the other bits in the header encode the value plus one and no other bytes are read. Otherwise, the value is a positive float value whose first byte is the header, and 7 bytes need to be read to complete it.
Bytes --> Potential additional bytes to read depending on the header.