This commit merges the glib-threads branch into the main branch. See the ChangeLog for details of the changes.
In brief overview:
- The set of threading functions can be set - A default implementation is provided in -lgthread - All static data structures are locked using these functions if g_thread_init() is called.