Accept object and array besides string

I'm building a grunt task to bulk validate json against json-schema using the tv4 validator. and I'd like to use your jsonpointer.js module to get at the data and schema elements for display.

But what seems a bit odd is how jsonpointer assumes the data will be a JSON string, while the first thing it does with it is to JSON.parse it to object again :)

As my implementation already has the data as objects I don't want to serialize it again just to have jsonpointer.js instantly de-serialize. So I went ahead and implemented support for this so jsonpointer.js accept objects and arrays as well as strings.

I expanded the tests as well. Note the diff of the test looks a bit messy because I had to hoist the 2 test structures so the two tests can share them.