made capacity on resource buff functions member-wise const
added a constructor for a capacity with a trivial converter
added a factory method for a material without a known composition
changed capacity constraints to take smart pointers to play nice with the rest of the core