emulator/opengl: Remove Android-specific thread_store.

This patch removes the use of the 'thread_store' class from
<utils/threads.h> by providing its own implementation instead
under shared/emugl/common/thread_store.h, plus appropriate
unit tests.

Note that unlike the Android version, this properly destroys
the thread-local values on thread exit (instead of leaking
them).

+ Provide a LazyInstance class used to perform thread-safe
  lazy initialization of static variables without the use
  of C++ constructors.

Change-Id: Iabe01fbd713c6872b5fe245d7255c3c03749a88a
13 files changed