loading shaders from file.
Shader code is now loaded from file rahter than hardcoded.
Reorder some of the function calls to make them more logical.