code: function bindFramebufferInfo(gl, framebufferInfo, target) {
    target = target || gl.FRAMEBUFFER;
    if (framebufferInfo) {
      gl.bindFramebuffer(target, framebufferInfo.framebuffer);
      gl.viewport(0, 0, framebufferInfo.width, framebufferInfo.height);
    } else {
      gl.bindFramebuffer(target, null);
      gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    }
  }
docs: Binds a framebuffer
  
  This function pretty much soley exists because I spent hours
  trying to figure out why something I wrote wasn't working only
  to realize I forget to set the viewport dimensions.
  My hope is this function will fix that.
  
  It is effectively the same as
  
  gl.bindFramebuffer(gl.FRAMEBUFFER, someFramebufferInfo.framebuffer);
  gl.viewport(0, 0, someFramebufferInfo.width, someFramebufferInfo.height);
  
  @param {WebGLRenderingContext} gl the WebGLRenderingContext
  @param {module:twgl.FramebufferInfo} [framebufferInfo] a framebufferInfo as returned from {@link module:twgl.createFramebufferInfo}.
  If not passed will bind the canvas.
  @param {number} [target] The target. If not passed `gl.FRAMEBUFFER` will be used.
  @memberOf module:twgl/framebuffers