Added a diffJson test with a nested array to gain more coverage of canonicalize.
Put Object.prototype.toString into a var to avoid creating an empty object each time it's used.