Now multiple textures can be drawn.

The same material was used for everything. Unity however caches all
DrawMesh calls so having the same material for this will cause the
texture to be overridden by the last one set everytime.
Now a new Material is made for each DrawMesh call. This is quite
horrible for the garbage collector, but works for now. Later the
materials should be pooled.
Fixed GetData and SetDAta functions on Texture2D

Didn't call Apply() after setting pixels causing no pixels to be set on
the gpu.
Unity reads textures bottom-up which had to b compensated for in
GetData.