better error reporting for attributes and uniforms