[rust_crates] Add crates harfbuzz, freetype, and their dependencies

Full list of new crates:
- core-foundation       OSRB-160
- core-foundation-sys   OSRB-160
- core-graphics         OSRB-159
- core-text             OSRB-162
- foreign-types         OSRB-161
- foreign-types-shared  OSRB-161
- freetype              OSRB-148
- harfbuzz              OSRB-150
- harfbuzz-sys          OSRB-151

Also:
- Add tiny_mirrors replacements for cmake and pkg-config crates, which are
optional transitive dependencies of the harfbuzz and freetype crates, but which
we do not need or support in our build system.
- In //third_party/rust_crates/.cargo/config, add overrides to bypass building
the native harfbuzz and freetype libraries inside their wrapper crates, and
instead link to the versions of these libraries already built in our tree.

TEXT-60 #comment

Change-Id: Ieb9cfb08bcc1c909168a413f2e2af8d558728cb8
587 files changed
tree: 8dcdd15576e15a3c1c0590abf0070928e7b2332e
  1. .clang-format
  2. .dir-locals.el
  3. .gitattributes
  4. .gitignore
  5. .gn
  6. AUTHORS
  7. BUILD.gn
  8. CODE_OF_CONDUCT.md
  9. CONTRIBUTING.md
  10. LICENSE
  11. OWNERS
  12. PATENTS
  13. README.md
  14. boards/
  15. build/
  16. buildtools/
  17. bundles/
  18. docs/
  19. examples/
  20. garnet/
  21. peridot/
  22. products/
  23. rustfmt.toml
  24. scripts/
  25. sdk/
  26. src/
  27. third_party/
  28. tools/
  29. zircon/
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.