refactor: Improve `parse` performance (#25)
* Combine value matchers into single regex match
* Refactor object/list parser into leading loop
* Turn arguments parsing into leading loop
* Tweak type parsing implementation
* Reformat variableDefinitions parsing
* Refactor selectionSet parsing to merge branches
* Pull out start of selections in parsing branches
* Remove redundant length checks
* Merge variable name into value parser
* Merge float part into main regex
* Absorb object/list parsing into value parser
* Merge field parsing into selectionSet parser
* Squash away typeCondition parser
* Merge fragmentSpread into selectionSet parser
* Remove redundant arrays in operation definitions
* Extract OperationType matching to document parser
* Avoid allocating variableDefinitions array as possible
* Avoid allocating directives if possible
* Avoid allocating arguments array if possible
* Remove name() helper
* Remove redundant ignore() calls
* Add changeset
* Remove redundant import
* Add mising tests and remove redundant branches
* Update comments
* Add additional tests
* Remove recursion from type() parser