cache uniform and attribute locations