Material.fromType uniforms

Add second parameter to `Material.fromType` to override default uniforms. Fixes part 1 of #1185.