function setAttributes(setters, buffers) {
  for (var name in buffers) {
    var setter = setters[name];

    if (setter) {
      setter(buffers[name]);
    }
  }
}
Sets attributes and binds buffers (deprecated... use {@link module:twgl.setBuffersAndAttributes})

Example:

    const program = createProgramFromScripts(
        gl, ["some-vs", "some-fs");

    const attribSetters = createAttributeSetters(program);

    const positionBuffer = gl.createBuffer();
    const texcoordBuffer = gl.createBuffer();

    const attribs = {
      a_position: {buffer: positionBuffer, numComponents: 3},
      a_texcoord: {buffer: texcoordBuffer, numComponents: 2},
    };

    gl.useProgram(program);

This will automatically bind the buffers AND set the
attributes.

    setAttributes(attribSetters, attribs);

Properties of attribs. For each attrib you can add
properties:

*   type: the type of data in the buffer. Default = gl.FLOAT
*   normalize: whether or not to normalize the data. Default = false
*   stride: the stride. Default = 0
*   offset: offset into the buffer. Default = 0
*   divisor: the divisor for instances. Default = undefined

For example if you had 3 value float positions, 2 value
float texcoord and 4 value uint8 colors you'd setup your
attribs like this

    const attribs = {
      a_position: {buffer: positionBuffer, numComponents: 3},
      a_texcoord: {buffer: texcoordBuffer, numComponents: 2},
      a_color: {
        buffer: colorBuffer,
        numComponents: 4,
        type: gl.UNSIGNED_BYTE,
        normalize: true,
      },
    };

@param {Object.<string, function>} setters Attribute setters as returned from createAttributeSetters
@param {Object.<string, module:twgl.AttribInfo>} buffers AttribInfos mapped by attribute name.
@memberOf module:twgl/programs
@deprecated use {@link module:twgl.setBuffersAndAttributes}
@private