This instance method of the $parser method parses a WebIDL fragment
and returns its in-memory representation.

The first argument, $webidl_fragment, is the IDL fragment to be
parsed. It must be a string of characters (not bytes).

As the second argument, $onerror, a CODE reference may be
specified. If specified, whenever a parse error is found, or a
warning message is raised, the CODE is invoked with arguments
describing the error. @@ TODO: ref to degtailed description

Note that the W3C WebIDL specification does not define how invalid
WebIDL fragments are parsed. This parse implements a foward
compatible parsing rule that is similar to the CSS parsing rule; once
a parse error is found, everything until the next ; character (or
the end-of-file, if there is no ; character) is ignored, taking
pairs of { and } characters into account. If a fragment
prematurely ends inside a block, then a }; sequence that closes the
block is implied. Any error that does not violate the grammer, e.g.
any reference to an undefined interface, does not stop the parser; to
detect such errors, the checker has to be invoked later.

The returned object, $webidl_doc, is an in-memory representation of
the prased IDL fragment. It is an instance of the
Whatpm::WebIDL::Definitions class.