Fix modes for fetching classic worker script and introduce parser metadata for request
While reading [the spec](https://html.spec.whatwg.org/multipage/#fetch-a-classic-worker-script) for `fetch a classic worker script`, I found the `mode` and `credential-mode` are opposite to the spec. So, the first commit will fix it.
Also, I found there's a `parser metadata` for `request` so I tried to introduce it in this PR as well.
For WPT, I found there's a `/workers/constructors/Worker/same-origin.html` which was disabled in #3180. We pass most of the tests now.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
- [x] There are tests for these changes
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23351)
<!-- Reviewable:end -->
Build Linux Nightly with OpenSSL 1.1.0
Servo Nightly fails to run on Ubuntu 19.04 (disco) as it doesn't have a libssl1.0.0 package.
OpenSSL 1.1.x is supported since [Debian Stretch](https://packages.debian.org/en/stretch/libssl1.1) (currently Debian Stable) and [Ubuntu 18.04](https://packages.ubuntu.com/bionic/libssl1.1) (used by base.dockerfile).
Ancient Debian + Ubuntu releases are still able to compile Servo using their most recent OpenSSL (1.0.x).
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#12015, fix#21778 and fix#22110
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23392)
<!-- Reviewable:end -->
Install webrtc-required components for gstreamer
We will need to reinstall gst-plugins-bad on the existing mac builders, but this should help any future mac builders that are created.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23388)
<!-- Reviewable:end -->
Create CanvasRect for OffscreenCanvas
<!-- Please describe your changes on the following line: -->
Created CanvasRect fot OffscreenCanvas and Updated Testcases
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23135)
<!-- Reviewable:end -->
Support WorkerOptions for Worker
I'd like to start working on updating SW related codes and I found it will have some algorithms related to module workers. And I found parts of the spec update is related to [fetch a module worker script graph](https://html.spec.whatwg.org/multipage/#fetch-a-module-worker-script-tree), maybe it's worth being a separate PR?
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #23308
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23309)
<!-- Reviewable:end -->