moved all shader declaration macros into shaderdecl.hpp
more changes in the shader system
more cleaning of shader build system
split inout parameters in shader system
implemented a cleaner way to instantiate shaders but less macros
moved shader desc into a dedicated shader structure to prepare work for shader variant