New shader system in progress

    - BUILD IS BROKEN! Do not pull this commit
    - Introduced .fx file format to handle shader libraries efficiently
    - Rewritten shader handling methond(still in progress)
Implemented ShaderLibrary class and made some cosmetic code changes
Finalized new shader system, still WIP because factories are broken
Finalized the new shader system

- Fixed all factory-related errors
- Implemented almost all missing functionality
- Merge with master soon
Finished the new shader system
Merge branch 'new_shaders'