Add ability to deep copy a MTLModel object

I'm creating a Pull Request for this primarily as a question, as the guidelines have requested.

What I'm looking to do is create a deep copy of a `MTLModel` instance, in order to protect against mutation. I'm wondering if this code is at all dangerous.