Add binary GLSL cache

Doesn't work atm due to qglGetProgramiv being aliased to qglGetObjectParameterivARB on desktop