Remove more cases of excessive quotes in property paths
Remove more cases of excessive quotes in property paths

Previously, the "copy property path" functionality produced JavaScript code
containing unnecessary quotes for strings that are valid `IdentifierName`s.
This patch improves the `useDotNotation` regular expression to match the
ECMAScript spec grammar for `IdentifierName` [1] (modulo escape sequence
handling, which we don't need to perform in this code path).

Example object with properties that would previously unnecessarily get
wrapped in quotes (examples taken from [2] and [3]):

    const object = {π: {ಠ_ಠ: {ლ_ಠ益ಠ_ლ: {λ: {Ꙭൽↈⴱ: {ᱹ:{〱〱: {Ⅳ: {Ⅴ:
                   {Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠: {Ƞ: {ȡ: {_҇: true}}}}}}}}}}}}};

The current result for the deepest property is:

    ["π"]["ಠ_ಠ"]["ლ_ಠ益ಠ_ლ"]["λ"]["Ꙭൽↈⴱ"]["ᱹ"]["〱〱"]["Ⅳ"]["Ⅴ"]["Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠"]["Ƞ"]["ȡ"]["_҇"]

With this patch, the result is:

    π.ಠ_ಠ.ლ_ಠ益ಠ_ლ.λ.Ꙭൽↈⴱ.ᱹ.〱〱.Ⅳ.Ⅴ.Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠.Ƞ.ȡ._҇

This is valid since each of the property names is a valid `IdentifierName`.

[1]: https://tc39.es/ecma262/#prod-IdentifierName
[2]: https://mathiasbynens.be/notes/javascript-identifiers
[3]: https://mathiasbynens.be/notes/javascript-identifiers-es6

Bug: chromium:1034441
Change-Id: If3a4c47d1550f3e8e9f8883f7380d21134c43274
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1969471
Reviewed-by: Peter Marshall <6d0eecbeb7fb9d172f49b4b32481d2466fd89429@chromium.org>
Commit-Queue: Mathias Bynens <17a2cbc4e33156874a9862b0f530521117e66a3d@chromium.org>

ChromeDevTools/devtools-frontend,ChromeDevTools/devtools-frontend,ChromeDevTools/devtools-frontend,ChromeDevTools/devtools-frontend,ChromeDevTools/devtools-frontend,ChromeDevTools/devtools-frontend