_sourceLoaded(source, texture, callback) {
        // execute only once
        if (!texture._sourceLoaded) {
            texture._onSourceLoaded(source);

            // if this loader has a parent (means its a PlaneTextureLoader)
            if(this._parent) {
                // increment plane texture loader
                this._increment && this._increment();

                this.renderer.nextRender.add(() => this._parent._onLoadingCallback && this._parent._onLoadingCallback(texture));
            }

            // execute callback
            if(callback) {
                callback(texture);
            }
        }
    }
Handles media loading success

     params:
     @source (html element): html image, video or canvas element that has been loaded
     @texture (Texture class object): our newly created texture that will use that source
     @callback (function): function to execute
*