Bug 873332: Don't use -fno-omit-frame-pointer on ARM to avoid a GCC bug.

The flag would not be useful for profiling on our current ARM platforms
even if it worked correctly, so we can just remove it.
Get stack end on Android
Walk ARM Procedure Call Standard frames for profiling, where available.

This needs more work, but it's a proof-of-concept and it basically
works.

Also this is not quite APCS, as it ignores the saved PC field (as
distinct from the saved LR), but: Linux perf(1) does this too, and I'm
exploiting this property in my GCC change to make this work efficiently
for Thumb2.
profiler: enable "stackwalk" by default if ARM frame pointers
Trace from the signal context's r11, not inside the handler.

The r11 is preserved across the handler dispatch, so we still got the
stack, but with extra frames tacked on; it seems better to not record
them than to try to preprocess them out.  But this also means we have to
validate the initial fp value, because FramePointerStackWalk checks only
those it fetches (and doesn't have access to a lower bound other than
that first fp).
Improve comment slightly
Use public interfaces instead of private for stack bounds.