Cache shader program, plug one horrible performance hole