Add "stylus-tools" Wayland protocol.

This protocol specifies a set of interfaces to control the behavior
of a stylus tool, a special kind of window allowing the user to
explore, annotate or manipulate on-screen content.

The first applications of that protocol are:
1. Exclude the stylus tool window from for a voice interaction
   screenshot (implemented in this CL).
2. Only handle stylus input in the stylus tool window and let all
   other types of events pass through to the underlying windows
   (to be implemented).

BUG=b:37640737
TEST=Invoke metalayer, check that the screenshot does not contain
     stylus strokes.

Review-Url: https://codereview.chromium.org/2896943002
Cr-Commit-Position: refs/heads/master@{#474580}
diff --git a/components/exo/surface.h b/components/exo/surface.h
index ae85eca8c..0abd511 100644
--- a/components/exo/surface.h
+++ b/components/exo/surface.h
@@ -200,6 +200,12 @@
   // Returns the active contents size.
   gfx::Size content_size() const { return content_size_; }
 
+  // Returns true if the associated window is in 'stylus-only' mode.
+  bool IsStylusOnly();
+
+  // Enables 'stylus-only' mode for the associated window.
+  void SetStylusOnly();
+
   // Overridden from ui::ContextFactoryObserver:
   void OnLostResources() override;