TraceProcessor: Add clipping support to sched table + minor fixes

- Fix mac build by not building libunwind stack on mac
- Fix cost estimation of the sched_slices table, which was always
  return an estimated cost of 0.
- Fix heuristics for sorting.
- Introduce ts_clip=true|false column in sched table. When set to
  true, it truncates the start and duration of slices around the
  ts >< operators. For instance:
  Given shced slices:                [  A   ][ B ][   C       ]
  And WHERE ts BETWEEN x and y          ^x           y^
  The output would be:                  [ A ][ B ][ C ]

Change-Id: I0c9a244f8b539e1b1e509cc7709cc5a98451a40b
diff --git a/BUILD.gn b/BUILD.gn
index aee8466..01c1e0d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -34,7 +34,7 @@
 
   # libunwindstack requires API level 26 or newer.
   should_build_heapprofd =
-      !build_with_chromium && is_clang &&
+      !build_with_chromium && is_clang && (is_linux || is_android) &&
       (!is_android || android_api_level >= 26 || build_with_android)
 }
 assert(!monolithic_binaries || !build_with_android)