Amalgamated all material properties into one struct
Changed material specification from using references to using objects