chromeos: add SingleProcessMash mode

This makes Ash create an Env if passed SingleProcessMash. In addition this
makes all window creation go through a factory that ensures the right env is
supplied.

See https://docs.google.com/document/d/11ha_KioDdXe4iZS2AML1foKnCJlNKm7Q1hFr6VW8dV4/edit
for more details.

This also adds the feature to ui/base.

BUG=847992
TEST=covered by tests

Change-Id: Ica3c433627222f0e076dddaf19b1ab09168cebeb
Reviewed-on: https://chromium-review.googlesource.com/1168282
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582411}
89 files changed