This component provides a unified model of user language which will serve as the
single source of truth for other components.

Language is implemented as a layered component
(https://sites.google.com/a/chromium.org/dev/developers/design-documents/layered-components-design)
to enable it to be shared cleanly on iOS.

This component has the following structure:

core/: shared code that does not depend on src/content or src/ios.
content/: Driver for the shared code based on the content layer.
  browser/: Browser process code.
  renderer/: Renderer process code.
  common/: Code shared by the browser and the renderer.
ios/: Driver for the shared code based on src/ios.
