Fixes: NB#274158 - mcompositor leaks
Fixes: NB#274158 - mcompositor leaks

Details:
Every call to MCompositeWindowShaderEffect::installShaderFragment() was
triggering the creation of a new shader even if the exact same shader
was already compiled and linked. The created shaders have never been
freed afterwards
As we just have a very limited set of shaders now shaders are never
destroyed when compositor is running but the ids of the already created
shaders will be returned if they exist.
This way the leak is fixed and the very same shader is compiled just
once which might improve performance.

nemomobile-graveyard/mcompositor,nemomobile-graveyard/mcompositor,nemomobile-graveyard/mcompositor,nemomobile-graveyard/mcompositor,nemomobile-graveyard/mcompositor,nemomobile-graveyard/mcompositor