DiscardableHandle Implementation

This change adds a DiscardableHandle class, which acts as the primary
synchronization mechanism for the GPU Discardable Memory system.

This is the first in a sequence of CLs which implement the GPU
Discardable Memory system. This class is currently only created/used by
unit test code.

BUG=706456
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2732223004
Cr-Commit-Position: refs/heads/master@{#460610}
diff --git a/gpu/BUILD.gn b/gpu/BUILD.gn
index 82c9e9a..6bad429 100644
--- a/gpu/BUILD.gn
+++ b/gpu/BUILD.gn
@@ -234,6 +234,7 @@
     "command_buffer/common/command_buffer_mock.h",
     "command_buffer/common/command_buffer_shared_test.cc",
     "command_buffer/common/debug_marker_manager_unittest.cc",
+    "command_buffer/common/discardable_handle_unittest.cc",
     "command_buffer/common/gles2_cmd_format_test.cc",
     "command_buffer/common/gles2_cmd_format_test_autogen.h",
     "command_buffer/common/gles2_cmd_utils_unittest.cc",