Previously, byte arrays (really, []byte) where serialized as a pair
(length,ptr-to-start), but the GC was allowed to realloc the underlying buffer
before sending to C (so the pointer would be left dangling.)
Now, just do the brute force of copying the whole byte slice as:
(length, v0, v1, ...)
update the C version.
update the Go one.