Chameleon: Implement a stress test to switch EDID from among a large pool

This test switches Chameleon EDID from among a large pool of EDIDs, tests
DUT recognizes the emulated monitor and emits the correct video signal to
Chameleon.

The first batch of EDIDs come from the monitors in use by the QA team and
the previous reported bugs.

Add the support of importing text format (xrandr output) in the EDID library.

BUG=chromium:366421, chromium:344247
TEST=Tested the new test on Link:
$ test_that --args "chameleon_host=$CHAMELEON" $DUT display_EdidStress

Change-Id: I83c851d4d6eaa62385237891207d12193bc9e317
Reviewed-on: https://chromium-review.googlesource.com/196735
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/chameleon/display_client.py b/server/cros/chameleon/display_client.py
index 351e270..f0b091f 100644
--- a/server/cros/chameleon/display_client.py
+++ b/server/cros/chameleon/display_client.py
@@ -174,3 +174,13 @@
         self._client.run(command)
         self._client.get_file(remote_path, file_path)
         return open(file_path).read()
+
+
+    def get_resolution(self):
+        """Gets the external resolution on framebuffer.
+
+        @return The resolution tuple (width, height)
+        """
+        output = self.get_connector_name()
+        width, height, _, _ = self._display_xmlrpc_client.get_resolution(output)
+        return (width, height)