test: Split Selenium grid tests into multiple jobs (#4454)
test: Split Selenium grid tests into multiple jobs (#4454)

This requires multiple self-hosted runners to be set up, but will
allow us to more easily read results and to re-run individual failed
jobs per browser.

This change also includes several optimizations that were motivated by
the split:
 - stop installing the GitHub CLI (now installed on newer self-hosted
   images, saves ~20 seconds)
 - cache node_modules (saves about ~1 minute if package-lock.json
   hasn't changed)
 - pre-build Shaka once in a GitHub VM instead of in parallel on
   multiple runner containers hosted on the same machine (saves ~45
   minutes w/ 12 runners in parallel)
shaka-project/shaka-player,shaka-project/shaka-player,shaka-project/shaka-player,shaka-project/shaka-player