Fix assignment by value by overloading =
Also fix +-*/ overloads
Remove matrix in destructor