Refactored ShaderProgram

- Removed method for intializing Shader structs, as this is
  done automatically.
- Added method cleanUpResources to free up memory associated with
  strings holding shader program file contents.
Refactored Mesh class

- Changed size_t return types to unsigned long to make sure storage
  is sufficient for Meshes with large amounts of vertices/normals.
Minor lighting changes to FlatSmoothShading_Example
Created class MeshConsolidator

- Refactor FlatSmoothShading_Example to use new class