Cleaner fall-back stack capture for --enable-heap-profiling=native.

This generalizes the fall-back to using base::debug::StackTrace to
capture stack traces in builds which lack frame pointers, allowing
native heap profiling to generate useful data, albeit with a more
significant performance penalty.

Changes made in the earlier patch for native heap profiling stack
capture under Windows are un-done in favour of the following:
1. MemoryDumpManager always allows native heap profiling[1].
2. HeapProfilerAllocationContextTracker chooses whether to use
   base::debug::StackTrace or TraceStackFramePointers() based on
   the value of HAVE_TRACE_STACK_FRAME_POINTERS().
3. HAVE_STACK_FRAME_POINTERS is no longer defined in configurations
   which lack frame pointers[2].

[1] Though note that only certain build configs actually support
    the necessary allocator shims; this will be addressed later.
[2] Frame pointers are typically only available in enable_profiling
    or Debug builds.

BUG=686208

Review-Url: https://codereview.chromium.org/2757123002
Cr-Commit-Position: refs/heads/master@{#460311}
6 files changed