grit: Replace current resource whitelisting implementation with a better one.

The new implementation works by embedding debug info in object
files instead of parsing compiler warning output. As a result,
our official builds are much less noisy. See the new header file
ui/base/resource/whitelist.h for details on how it works.

It is also simpler because it does not rely on wrapper scripts for
collecting the set of whitelisted resource ids. As a result we no
longer need, and can remove, the wrapper scripts for the compiler
and ar.

It is also theoretically more precise because it only whitelists
resource ids mentioned in archive members that were chosen by the
linker, although I didn't see an improvement in monochrome. It may
be possible to gain even more precision by extending the compiler
(see comments on bug) but first we'd need to investigate whether that
would be worth it.

Bug: 648475, 684788
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I12d83a8aaffa42c3afcdcc834f7dd7536b7a9248
Reviewed-on: https://chromium-review.googlesource.com/1174012
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#584129}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f26ebd65019e400184adad499c73264140c8fa96
8 files changed