Updating source code to new code guidelines

- Refactored the code in order in order to develop an Render Agnostic system.
   - The renderer hides many settings from the engine and sets them up in order to take full
      advantage of the renderer API and the platform they run on.
   - More work required, but it will be easier to work with multiple platforms.
   - Render based effects need to implemented on a per renderer basis (predicition)
- Added Shader code
- Corrected Texture code
- Fixed Bug in zResource
- Added ShaderTests