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);
    }
  }
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