* Run GraphQL query based on cursor position.
If there are multiple operations in the GraphQL query it automatically choose
which operation to run based on the cursor position.
* Highlight current operation
* Refactor. Prevent some query change issues.
If the current operation name gets deleted the new current operation
is set as fallback to the first operation name.
This refactor includes a `_documentAST` property on GraphQLEditor component,
so it is locally available (it avoids multiple graphql `parse` function calls).
Also a _queryEditor reference is added to the component.