Adding a row can transform a node in a grid one
Add a method to clean a node

If a node has only one row, which has only one cell, transform this node
from a "grid" type, to the same node as the cell
Move external files in vendors/

They will be compiled in the vendors.js file
Prefix grid property with "_" for JXON
Add script to launch dev tools needed

python, gulp and gard
Stop rebuilding vendors file each time
Add a shim to :scope

This is used to get only child/ren of current node using
querySelector/All:

The line above will only return the first "content" children.

    cell.querySelector(':scope > content')

Without this, there is *no* way, using querySelector/All to retrieve
only children. A loop to check current children nodeName would have been
needed.

This shim comes from https://github.com/lazd/scopedQuerySelectorShim but
is not available in npm, so I put it in our vendors/ folder

Btw, it's a shim because it's for css4 and exists only when activating a
parameter in some browser settings. See https://developer.mozilla.org
/en-US/docs/Web/CSS/:scope#Browser_compatibility
Add a way to convert single XML nodes in json arrays

Exemple:

    <grid><rows/><rows/></grid>

Renders as:

    {grid: { rows: [{}, {}] } }

But:

    <grid><rows/></grid>

Rendered, before this commit, as:

    {grid: { rows: {} } }

As there was only one node, JXON didn't know that we wanted an Array.

So I added a "rToArray" parameter to the "build" and "createObjTree"
JXON functions, which is a regular expression to check if a particular
XML node should always be converted as an Array.

I also increased the verbosity when calling "build" to have an empty
JSON object instead of "true" when a node as no children/attributes.
Convert JSON manipulation methods into XML ones

To be able to better manipulate the grid data, we'll always work with
the XML grid, so all the manipulation methods now works with XML nodes
instead of JSON ones.