code: function() {
  		this.gl = this.context.gl; 
  		var gl = this.gl;
  
  		this.id = gl.createTexture(); //texture ID is recreated
  		this.width = this.height = 0; //size is reset to zero until loaded
  		this.target = gl.TEXTURE_2D;  //the provider can change this if necessary (e.g. cube maps)
  
  		this.bind();
  
  		//TODO: clean these up a little. 
  		gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, Texture.UNPACK_PREMULTIPLY_ALPHA);
  		gl.pixelStorei(gl.UNPACK_ALIGNMENT, Texture.UNPACK_ALIGNMENT);
  		gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, Texture.UNPACK_FLIP_Y);
  		
  		var colorspace = Texture.UNPACK_COLORSPACE_CONVERSION || gl.BROWSER_DEFAULT_WEBGL;
  		gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, colorspace);
  
  		//setup wrap modes without binding redundantly
  		this.setWrap(this.wrapS, this.wrapT, false);
  		this.setFilter(this.minFilter, this.magFilter, false);
  		
  		if (this.managedArgs) {
  			this.setup(this.managedArgs);
  		}
  	}
docs: Called in the Texture constructor, and after the GL context has been re-initialized.
  Subclasses can override this to provide a custom data upload, e.g. cubemaps or compressed
  textures.
  
  @method  create