function createAttributeSetters(gl, program) {
  var attribSetters = {};
  var numAttribs = gl.getProgramParameter(program, ACTIVE_ATTRIBUTES);

  for (var ii = 0; ii < numAttribs; ++ii) {
    var attribInfo = gl.getActiveAttrib(program, ii);

    if (isBuiltIn(attribInfo)) {
      continue;
    }

    var index = gl.getAttribLocation(program, attribInfo.name);
    var typeInfo = attrTypeMap[attribInfo.type];
    var setter = typeInfo.setter(gl, index, typeInfo);
    setter.location = index;
    attribSetters[attribInfo.name] = setter;
  }

  return attribSetters;
}
Creates setter functions for all attributes of a shader
program. You can pass this to {@link module:twgl.setBuffersAndAttributes} to set all your buffers and attributes.

@see {@link module:twgl.setAttributes} for example
@param {WebGLRenderingContext} gl The WebGLRenderingContext to use.
@param {WebGLProgram} program the program to create setters for.
@return {Object.<string, function>} an object with a setter for each attribute by name.
@memberOf module:twgl/programs