ModularShader: Fix that program is not recompiled on prepare()

... unless necessary
Address comments