Remove useless tinythread import in PlugLoad-windows.cpp
Remove seemingly useless tinythread import in LuaTools.cpp
Factor out tinythread in LuaApi.cpp
Removed unused tinythread in LuaWrapper.cpp
Removed unused tinythread include in LuaTypes.cpp
Removed unused tinythread include in ColorText.cpp
Factor out tinythread in Console.h
Factor out tinythread in Console-posix.cpp
Factor out tinythread in Console-windows.cpp
Factor out tinythread in renderer_light
Factor out tinythread in DataDefs.cpp
Remove unused tinythread include in RemoteClient.cpp
Add includes for new mutex and conditional_variable usages in PluginManager
Factor out tinythread from devel/memview, renderermax/renderer_light, and rendermax/renderer_opengl plugins
Remove usages of tinythread in various CMakeLists.txt files, in .ycm_extra_conf.py, and delete tinythread itself
Delete tinythread from LISCENSE.rst
excise tinythread: fix deadlock in pluginmanager
excise tinythread: remove improper header
excise tinythread: fix double unlock. fix plugin typo
DataStaticsFields.cpp used to contain identity_traits specializations for
primitive and opaque STL types, as well as macros used for the generated struct
field definitions. Only one of these were actually used in any compilation unit,
and the identity_traits definitions were hidden behind a guard to prevent them
from being compiled at all when building the struct field definitions.
Now, the identity_traits specializations live in their own file,
DataIdentity.cpp (matching their declarations, which live in DataIdentity.h).
This speeds up build times because modifying these specializations no longer
requires rebuilding all of the field definitions unnecessarily.
Without being declared with `extern "C"`, `plugin_globals` is mangled, with a
`cxx11` suffix.
We can't add `extern "C"` to the `DFhackDataExport` macro because GCC does not
allow initializing any `extern` variables inline, including `extern "C"`.