This patch documents how the XRay framework, included in the XRay
runtime implementation in the compiler-rt project, can be used to extend
the current set of default "modes" that come with XRay by default.
In this document we try to address the most common usage patterns for
implementing XRay modes, both those used by the modes already in
compiler-rt and those that may live "out-of-tree" or "downstream".
We'll use this document to present the high level concepts, the
terminology, the semantics, and the guarantees/invariants maintained by
the XRay implementation.