Coerce edge lengths (floats) to reliable strings.

This matches the server's expectation that we're using floating-point
values, effectively reversing Javascript's implicit conversion of (for
example) 3.0 to 3. But to do this reliably, we need to save and transmit
strings instead of floats in our outbound Nexson. Lesser of evils?