Performance improvements and a few bug fixes.

$extend wasn't checking for plain objects correctly, which was causing a lot of overhead trying to copy instances of JSONEditor.
Borrowed jQuery's isPlainObject code to fix this.

The `set` and `change` events were firing much too frequently during initialization for string and select editors causing slow downs.