Add Material System

Start to add an object based material/shader system.