Change the way of geometries transferring

Retrieve and send node geometry separately.
Also send normals of triangles, counts and colors in addition to vertices
Thanks, I like this version more! :)

Very minor thing, if you get to update this file or push another commit again, please can we have this line shorter?

```cs
private static string EncodeNumbers<T>(IEnumerable<IRenderPackage> packages, 
    Func<IRenderPackage, List<T>> getter)
{
}
```

Also the above ```EncodeNumbers``` method calls could be made shorter:

```cs
string pointVertices = EncodeNumbers(packages, p => p.PointVertices);
// ......
GraphicPrimitivesData = new GraphicPrimitives(pointVertices, lineStripVertices,
    triangleVertices, triangleNormals, lineStripCounts, lineStripColors);
```

But don't worry about changing them if you are not making other changes.