Added per-object material uniforms

Defining object.materialUniforms will update matching uniforms on the
object's material during rendering. This allows multiple objects to
share the same material while having different properties