Chameleon: Fix is_mirrored_enabled and use composition in place of inheritance

A previous patch 262202 makes is_mirrored_enabled() work on client tests
by treating the return value of get_display_info() as an array of DisplayInfo
objects, not an array of dicts.

The get_display_info() returns a native type in DisplayFacadeNative and
casts it to an array of DisplayInfo objects in DisplayFacadeLocalAdapter
(for client tests) and DisplayFacadeRemoteAdapter (for server tests) too.

The patch works in client tests because DisplayFacadeLocalAdapter
inherits DisplayFacadeNative and the get_display_info() is polymorphic.

However, it breaks server tests as get_display_info() is no longer
polymorphic. To avoid this inconsistent behavior, DisplayFacadeLocalAdapter
should avoid inheritance and use composition instead.

BUG=chromium:473950
TEST=Ran display_LidCloseOpen.mirrored and display_ClientChameleonConnection
passed on peach_pit.

Change-Id: I2657596163ebe161deb5e19eea0646441e64e5e3
Reviewed-on: https://chromium-review.googlesource.com/264428
Trybot-Ready: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Mussa Kiroga <mussa@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
2 files changed