Add pw_dumb_io with host backend

This change introduces the pw_dumb_io module, a module intended for
pigweed testing and bringup. pw_dumb_io includes a facade, and a backend
implementation using stdio (pw_dumb_io_stdio).

Change-Id: I5d9ca3c256c7e7c6d60cc07292aaead808a7f3dd
diff --git a/pw_vars_default.gni b/pw_vars_default.gni
index 9f2019e..b2eed99 100644
--- a/pw_vars_default.gni
+++ b/pw_vars_default.gni
@@ -54,3 +54,17 @@
 # This should be enabled for targets which support parallelized running
 # of unit tests, such as desktops with multiple cores.
 pw_unit_test_create_run_targets = false
+
+################################# BACKENDS #####################################
+
+# This section of the file defines empty variables for each of the pigweed
+# facades that expect a backend. This allows minimal breakages when adding new
+# facades. Instead of GN always halting due to encountering an undefined
+# variable, GN will only emit an error if something in the build depends on the
+# empty (but defined) variable.
+#
+# All of these should default to empty strings. For target-specific defaults,
+# modify these variables in a target confiruation file.
+
+# Declare dir_pw_dumb_io_backend
+dir_pw_dumb_io_backend = ""