Refactoring, added shaders loading from external sources (not working yet)
added shaders loading from external sources (almost working)