What exactly does al_prepare_set_shader() do that can't be done lazily
inside al_set_shader_* functions? For GLSL the set_shader functions
already don't do anything until you use the shader anyway... maybe the
same mechanism can be extended to HLSL shaders too?