BUILD.gn: Add targets to build all command-line tools (#2727)
BUILD.gn: Add targets to build all command-line tools (#2727)

This adds all the command-line tools from the CMakeLists.txt
file to the BUILD.gn used by Chromium and Fuchsia.

+ Add a convenient "all_spirv_tools" GN target to rebuild
  all command-line tools at once.

+ "gn format" pass to fix a few minor issues in the file.

Tested on Chromium with the following procedure:

 1) Have a clean Chromium checkout

 2) # Update to upstream spirv-headers (otherwise spirv-tools build fails)
    cd $CHROMIUM_SRC/third_party/spirv-headers/src &&
    git remote add upstream https://github.com/KhronosGroup/SPIRV-Headers.git &&
    git fetch upstream &&
    git checkout upstream/master

 3) # Update to upstream spirv-tools (Chromium is tracking older revision)
    cd $CHROMIUM_SRC/third_party/SPIRV-Tools/src &&
    git remote add upstream https://github.com/KhronosGroup/SPIRV-Tools.git &&
    git fetch upstream &&
    git checkout -tb check-patch upstream/master &&
    git cherry-pick <patch>

 3) # Rebuild Chromium and all SPIR-V tools for the host
    cd $CHROMIUM_SRC/src &&
    gn gen out/Linux --args 'use_goma = true' &&
    ninja -C out/Linux -j1000 -l30 gn_all all_spirv_tools

 4) Run the command-line tools, e.g.:

    out/Linux/spirv-link --help
KhronosGroup/SPIRV-Tools,KhronosGroup/SPIRV-Tools,dneto0/SPIRV-Tools,dneto0/SPIRV-Tools,pierremoreau/SPIRV-Tools,dneto0/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,antiagainst/SPIRV-Tools,KhronosGroup/SPIRV-Tools,KhronosGroup/SPIRV-Tools,antiagainst/SPIRV-Tools,dneto0/SPIRV-Tools,dneto0/SPIRV-Tools,antiagainst/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,pierremoreau/SPIRV-Tools,pierremoreau/SPIRV-Tools,antiagainst/SPIRV-Tools,dneto0/SPIRV-Tools,pierremoreau/SPIRV-Tools,pierremoreau/SPIRV-Tools,dneto0/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,antiagainst/SPIRV-Tools,KhronosGroup/SPIRV-Tools,dneto0/SPIRV-Tools