dynamically add hooks from glibc

The hook table contains
a. functions that need parameter conversion
   (like parameters of type FILE*, or pthread_mutex_t*)
b. some of the pthread_ functions we know to work from glibc.
   The pthread functions that we don't have in the hook table,
   when called by client code, will cause a crash.

If a symbol is not found in the hook table, it's searched
in libc.so.6. If it's not found there, then we fallback to bionic.

So far, this patch covers bionic{libc,libdl} and a part of libthread_db.
Still to be covered is libm, libstdc++ and linker.

For debugging purposes, one can use HYBRIS_FROM_BIONIC to
force a symbol to be used from Bionic.

So far, I only need longjmp and setjmp from bionic{libc}, everything else
being called from (e)glibc.

Tested on nexus 4 as:
  HYBRIS_EGLPLATFORM=hwcomposer \
  ./ARMHF/bin/test_hwcomposer

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
Merge pull request #199 from groleo/dyn-hooks

dynamically add hooks from glibc