def parse(source, opts = {})
    Parser.new(source, opts).parse
  end
Parse the JSON document _source_ into a Ruby data structure and return it.

_opts_ can have the following
keys:
* *max_nesting*: The maximum depth of nesting allowed in the parsed data
structures. Disable depth checking with :max_nesting => false. It defaults
to 100.
* *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
defiance of RFC 4627 to be parsed by the Parser. This option defaults
to false.
* *symbolize_names*: If set to true, returns symbols for the names
(keys) in a JSON object. Otherwise strings are returned. Strings are
the default.
* *create_additions*: If set to false, the Parser doesn't create
additions even if a matching class and create_id was found. This option
defaults to true.
* *object_class*: Defaults to Hash
* *array_class*: Defaults to Array