add uploadTexture to WebGLRenderer

Hi,

The goal of this PR is to provide a manual way of uploading texture.
The default behavior (needsUpdate=true) is well suited for gaming were all resources are loaded at start time.
But for a streaming solution (like in Photosynth2) this is actually hurting performance.
In Photosynth2 textures are uploaded in a loop which is suppose to not exceed ~7ms per frame, remaining textures are uploaded in consecutive frames.
Exposing this method let the user decide of his own strategy on when to upload texture.

Let me know if you find this useful or if there is any bug.
The diff is hard to read due to the new indentation but the change is actually pretty minimal.

Thanks,
--Henri
Yes, the diff is hard to read in github due to the new tab indent. But the change is actually very minimal. I'm just exposing uploadTexture() and the behavior of setTexture() is left unchanged.