Refactored shaders so that all loading logic is centralized
+ shadermanager is now responsible for loading shaders from file
- other classes can no longer construct shaders without going through shadermanager
+ shadermanager keeps all shaders it had loaded so shaders won't be loaded from file twice