Add field metadata to protozero bindings

Add FieldMetadata type and generate static constexpr FieldMetadata
members in protozero bindings for each field.

This patch also introduces SimpleFieldWriter C++ helper, which leverages
FieldMetadata to figure out the correct way to write a given field.
Eventually this will be used for supporting a new more ergonomic way to
write typed messages, but for now this just switches protozero bindings
to use it.

R=eseckler@google.com,skyostil@google.com,primiano@google.com

Bug: b/184558843
Change-Id: I9ff196238c25a3a915e11a84ae4712148921bcbf
diff --git a/BUILD b/BUILD
index a6048f0..92327c1 100644
--- a/BUILD
+++ b/BUILD
@@ -434,6 +434,7 @@
         "include/perfetto/protozero/copyable_ptr.h",
         "include/perfetto/protozero/cpp_message_obj.h",
         "include/perfetto/protozero/field.h",
+        "include/perfetto/protozero/field_writer.h",
         "include/perfetto/protozero/message.h",
         "include/perfetto/protozero/message_arena.h",
         "include/perfetto/protozero/message_handle.h",