pw_console: ptpython repl, execution and display

Enables a ptpython based repl in the ReplPane. User repl code is
executed in it's own thread with stdout and stderr patched to
capture output.

Change-Id: I005481f1ecd6805ce9a74fbf57ff0f2317b9d2aa
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/48960
Pigweed-Auto-Submit: Anthony DiGirolamo <tonymd@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Joe Ethier <jethier@google.com>
diff --git a/pw_console/py/BUILD.gn b/pw_console/py/BUILD.gn
index 98ec217..10865c2 100644
--- a/pw_console/py/BUILD.gn
+++ b/pw_console/py/BUILD.gn
@@ -23,14 +23,17 @@
     "pw_console/__main__.py",
     "pw_console/console_app.py",
     "pw_console/help_window.py",
+    "pw_console/helpers.py",
     "pw_console/key_bindings.py",
     "pw_console/log_pane.py",
+    "pw_console/pw_ptpython_repl.py",
     "pw_console/repl_pane.py",
     "pw_console/style.py",
   ]
   tests = [
     "console_app_test.py",
     "help_window_test.py",
+    "repl_pane_test.py",
   ]
   python_deps = [
     "$dir_pw_cli/py",