start shader in begin call so uniforms can be set outside of spritebatch
added quad structure to sprite that is updated only as needed by the spritebatch