Add a base property model for the UI framework.

The goal is to enable a simple data model without as much boiler
plate code.

It is initially optimized for frequent value changes to avoid object
creation where not needed.

BUG=

Change-Id: I9ae02a322acefa3e6a9e6fce96fbe51e0aa2053b
Reviewed-on: https://chromium-review.googlesource.com/1092797
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567015}
8 files changed