build: Check for InitOnceExecuteOnce on Windows

We use this function like its pthread equivalent.
build: Expose PTHREAD_* variables for substitution

We will need them in the pkg-config file, if we don't depend on GObject.
Update Libs.private and Requires.private for pkg-config

We need to ensure that the linker and compiler flags are an accurate
reflection of our dependencies for all the possible configurations.
Use InitOnceExecuteOnce() on Windows

This is the equivalent of pthread_once() for Windows Vista and newer.

This commit is untested, but it has been taken from an example on MSDN,
so it should in theory just work.