Mojo JS bindings: change module loading solution.

This change takes place on the mojo/public/js/new_bindings copy so it doesn't
affect existing users.

- This change gets rid of AMD module loading. Now the bindings API is defined in
the "mojo" namespace. At build time, all bindings files are combined
into a single file "mojo_bindings.js". Users should use <script> tag to include
this file (as well as generated mojom.js files).

- Generated mojom.js files export their definitions under the same namespace as
the "module" statement in the corresponding mojom files.

- This change also adds a "use_new_js_bindings" option to the generator. It
  duplicates the control message mojom files in order to generate two
  different flavors of JS bindings.

- The new bindings use the Mojo system API defined by Web IDL.

BUG=699569

Review-Url: https://codereview.chromium.org/2759563004
Cr-Original-Commit-Position: refs/heads/master@{#459654}
Committed: https://chromium.googlesource.com/chromium/src/+/e6a5534bb3fe61b5224f1a22e43ba957190ad5d0
Review-Url: https://codereview.chromium.org/2759563004
Cr-Commit-Position: refs/heads/master@{#461349}


CrOS-Libchrome-Original-Commit: a06469911359843f3d823fac7a7c06fec3c46edb
21 files changed
tree: e507a5bfc16b37c70e334f6f889d6fdbcc455646
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/