batch_for_shader is an utility function that creates the correct
vertex buffer based on the given shader. In the shader interface
the attr_types_ contains the GPUType for each location in the
vertex buffer.
When using Metal, the attr_types_ was never updated, resulting
in using incorrect or non-existing data types. This patch fixes
this by updating the attr_types_ when building the shader
interface.