Reland of "Added common layout framework for system menu rows."

Added common layout framework for system menu rows.

Currently most of the system menu rows define their own layouts even
though many rows should have the same layout.  Additionally we have to
support two separate layout schemes while material design is being
implemented.  Thus this CL lays the ground work to make it easier to
support multiple layout schemes and a centralized layout source.

Follow-up TODO:
- wire in the new layouts to the system menu rows

BUG=657669

Originally landed here: https://chromiumcodereview.appspot.com/2414103003/
Reverted here: https://codereview.chromium.org/2441923004/

Review-Url: https://codereview.chromium.org/2439093002
Cr-Commit-Position: refs/heads/master@{#427851}
16 files changed