MaterialManager's ApplyMaterial should find and apply the correct shader

|SOURCE|
[Common/Material]
* GetShader returns the MD5 digest of the shader that is associated with the
  material
[Common/MaterialManager]
* ApplyMaterial searches through the material map to find the material MD5
  digest, then the shader MD5 digest is discovered from the material
* SetShaderParameter performs a similar function to ApplyMaterial, except it
  uses the shader to set the shader parameters instead of applying it