hooks: implement a more dynamic and reliable management of pshared mutex/cond/rwlock

 * The memory region is now mapped dynamically, and not using a predefined address
 * The pointer is considered as an shm offset if it is above 0xFF000000
 * The allocation can mix pshared mutex, conditions or rwlock
 * The shared memory management has been isolated in a separate file, hooks_shm.c/.h
 * The SHM segment can grow dynamically on-demand, up to 16MB of data

Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>