title: error when using WebGLRenderer() with jsdom
body: <p>I'm trying to render a cube on server side, and was able to do so using the CanvasRenderer, but i want to be able to render it with WebGLRenderer, which should produce better results. i've narrowed it down to this code snippet:</p>
  
  <pre><code>var jsdom = require('jsdom')
  , document = jsdom.jsdom('&lt;!doctype html&gt;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;')
  , window = document.createWindow()
  , THREE = require('three');
  
  document.onload = docOnLoad();
  
  function docOnLoad()
  {
      console.log("docOnLoad called.");
      global.document = document;
      global.window = window;
      //renderer = new THREE.CanvasRenderer(); //works
      renderer = new THREE.WebGLRenderer();
      renderer.setSize(400, 400);
      document.body.appendChild(renderer.domElement);     
  }
  </code></pre>
  
  <p>When using the WebGLRenderer, i got:<br></p>
  
  <pre><code>_glExtensionTextureFloat = _gl.getExtension( 'OES_texture_float');
                                 ^
  TypeError: Cannot call method 'getExtension' of undefined
      at initGL (C:\programming\nodejs\node_modules\three\three.js:25870:34)
  </code></pre>
  
  <p>when trying to debug three.js code, console.log(_gl) indeed shows that _gl is undefined, and the source of it is line #25856, where:<br></p>
  
  <pre><code>_gl = _canvas.getContext( 'webgl', attributes ) || _canvas.getContext( 'experimental-webgl', attributes );
  </code></pre>
  
  <p>now, console.log() of _canvas shows: <code>[Canvas 0x0]</code><br><br>
  Has anyone encountered something similar?</p>