Buffer optimisation using typed array views

Small improvement,  the tint and alpha now share 4 bytes on the vertex buffer:
- It reduces the memory required per vertex from 24 bytes to 20 bytes.
- In addition to the small savings in memory the time to transfer the vertex buffer to the GPU is smaller.
- Populating the buffer is also slightly faster as there is one less component per vertex.
- Finally, the vertex shader is simplified and should be slightly faster as the GPU does an implicit normalisation of the colors.