[DevTools] Generate public versions of protocol classes to be exposed in v8_inspector/public.

This includes RemoteObject, StackTrace and SearchMatch. Each API class has toJSONString() and fromJSONString() methods.
On embedder side, we also generate ValueConversions for public types, which allow opaque interoperability
between classes of two dependent protocols.

Added SerializedValue to store opaque string as is.

This patch allows to remove protocol::Value from public API of v8_inspector.

BUG=580337

Review-Url: https://codereview.chromium.org/2159633002
Cr-Original-Commit-Position: refs/heads/master@{#407375}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4e19044900929958a03fc2d5c07cb2cc5aab47ff
18 files changed