resourceloader: Use feature test instead of UA sniffing
Converting to a feature test reduces complexity of the startup module, and
makes the blacklist more meaningful - allowing us to safely remove some
unnecessary feature guards and polyfills.
It'll also provide unsupported browsers a much better experience. Previously,
unsupported browsers got the payload for Grade A runtime. Many of which would
likely fatal due to unimplemented DOM and JS methods. With the capability
filter in this commit, the client will only initialise the environment if the
browser is capable - falling back to Grade C otherwise.
The feature-test that replaces the user-agent filter in this commit is 99.96%
effectively the same - based on a 7 day analytics campaign on all Wikimedia
wikis (see T102318 for details).
Bug: T102318
Change-Id: I847b3f5f80f1eef3f57bbe7518768468e271082b