material_lib: Add read-only material model
material_lib: Add the ability to change a material
material_editor: Add a base