pw_allocator: replacing malloc()

Add pw_malloc module to replace libc malloc with self defined methods.

Add pw_malloc_freelist backend to provide wrapper functions for freelist
malloc.

Change-Id: I7b645206655068d6c08063d7a520aca62d955052
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12601
Commit-Queue: Chenghan Zhou <chenghanzh@google.com>
Reviewed-by: Chenghan Zhou <chenghanzh@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 30ba175..f4c55a9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -172,6 +172,7 @@
       "$dir_pw_fuzzer:tests",
       "$dir_pw_log:tests",
       "$dir_pw_log_tokenized:tests",
+      "$dir_pw_malloc_freelist:tests",
       "$dir_pw_polyfill:tests",
       "$dir_pw_preprocessor:tests",
       "$dir_pw_protobuf:tests",