Change the way of geometries transferring

Retrieve and send node geometry separately.
Also send normals of triangles, counts and colors in addition to vertices
Question: do we need to prefix the number of ```float``` values in the data? If we have 99 ```float``` values here, how does the client know it only needs to decode 99 times? Is that based on the length of the string? Will there be any case where such assumption fail?