changed #toJSON to return a copy

`toJSON` is often used before passing the attrs to another party, and you don't want them accidentally editing them out from under your models