Cleanup backtrace setup code

Obtain the list of functions to backtrace from the environment on Android as
well.
Import libbacktrace, sans autotools build files
Add replacement headers for libbacktrace

libbacktrace #include's two header files from GCC.  Provide minimal
replacements for those files.  For filenames.h, declare missing macros
assuming POSIX-style paths.  For dwarf2.h, #include system dwarf.h and
declare missing enum tags and define missing enum values as macros.
Add libbacktrace CMake build script
Add libbacktrace to third-party libs for ELF
Implement libbacktrace provider
Switch to libbacktrace provider
Remove GlibcBacktraceProvider
Use libstdc++ demangler
In Android.mk: skip if cmake is not present

Skip the whole configuration/compilation of apitrace from Android.mk
if cmake is not present in the system.
In Android.mk: explicitly specify the toolchain

If NDK is cloned from git://codeaurora.org/platform/prebuilt instead of
from git://android.git.linaro.org/platform/prebuilt then
prebuilt/linux-x86/toolchain/ contains some extra entries that confuse
the toolchain pickup logic in cmake/toolchain/android.toolchain.cmake,
thus we explicitly specify the toolchain via ANDROID_TOOLCHAIN_NAME.
dispatch: Silence warning about unused function.
retrace: Create snapshot directory if it does not exist.

One usually wants to put the snapshots in some directory.
tracecheck: Stop relying on retrace '-c' option.

This option will soon be removed.

Also share code with tracecheck.
scripts: Simple script to extract PNG files from the JSON state dumps.
common: Fix C pre-processor logic.
common: Add copyright headers to trace_backtrace.hpp
Merge branch 'libbacktrace'
libbacktrace: Fix out of source builds.

Must include path for generated headers.
Fix defineShadowBufferHelper for buffer objects

Use GL_ELEMENT_ARRAY_BUFFER_BINDING instead of GL_ELEMENT_ARRAY_BUFFER
to inquire the current buffer object in _shadow_glGetBufferSubData.