Reland "Replace ICU with CED for auto encoding detection"

Another attempt to land crrev.com/2081653007.

The patch was reverted due accidentally having added new static
constructors (string), and causing a failure of the "sizes" step
of the build.

Link to broken build:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21618

Relevant log lines:
FAILED linux-release-64/sizes/chrome-si/initializers: actual 9, expected 7, better lower

The issue was fixed in the library on github.com:
https://github.com/google/compact_enc_det/commit/4abb8e48ca45e40bb6e4eb5767f20498e8df0075
https://github.com/google/compact_enc_det/commit/45c3d4a3d7ee40adf271748f3c4177fa293800e1

Tested:
-------
$ tools/linux/dump-static-initializers.py out/Release/chrome
...

Found 40 static initializers in 7 files.
-------

This reverts commit dbd9f219ef9b615d9e116964e46b1a390c9354a1.

BUG=

Review-Url: https://codereview.chromium.org/2138643002
Cr-Commit-Position: refs/heads/master@{#405352}
4 files changed