This makes use of the offsetInBytes parameter in SetData 

Make use of the offsetInBytes parameter to SetData and preserve memory allocated for the GPU instead of discarding memory allocations with each draw pass. This PR is from Gena Minchuk.