gallium/util: rewrite global constructor system for half floats (GCC/MSVC only!)
NOTE: this commit will cause Gallium to fail to build on any compiler
except GCC, the Microsoft C compiler and compatible compilers that
claim to be one of those.
This commit removes the u_gctors.cpp mechanism, in favor of using
compiler-specific syntax to add global constructors from C files.
This solves the problem of u_gctors.o not being pulled from static
libraries and avoids using C++.
However, it needs compiler-specific support for every compiler.
The Microsoft C compiler support has not been tested.