Re-work how material uniforms are updated.
Remove need for context at material construction.
Fix tests.
Fix another test.
Use a texture cache.
Update CHANGES.md.
Changes after review.
Merge pull request #1182 from AnalyticalGraphicsInc/materials

Materials
Merge master to polish