Move shader classes to C4DrawGL
Add PerformMultiPix method to draw many pixels at once
Remove PerformPix in favor of PerformMultiPix
Make C4EditCursor use PerformMultiPix instead of DrawPix for selection frame
Add the PerformMultiLines function

This function can be used to efficiently draw many lines
Use PerformMultiLines where appropriate
Remove C4Draw::PerformLine

It is no longer used
Add PerformMultiTris to draw many texturized triangles at once
Render all PXS in one batch (#1135)
Add test scenario for many lava PXS and smoke particles
Add missing tuple header #include.
Fix lobby team distribution settings hotkeys (#1133)
Add the Anim_Dist AVP
Add a min_rdir parameter to Anim_RDir
Rename Anim_RDir to Anim_AbsRDir
Add the Anim_RDir AVP
more loam for Chine on normal difficulty
Make attached meshes use their own blit parameters (#1095)

This might break some scenarios which for example change the color modulation
of a clonk and then expect that also its shovel or other objects get colored.
Such scenarios need to be fixed by also coloring the attached objects. This
might not be very convenient, and maybe we should introduce an option for
attached meshes to use the old behaviour (take blit parameters from main
object).

However, let's see how this change turns out in practise and then we see
whether further modifications are needed.
Allow distributions to use the system tinyxml.

Add a new cmake option WITH_SYSTEM_TINYXML=ON that allows to use the system
tinyxml library and header instead of the bundled copy. Adjust the include
path in the single source file referencing the header and add the thirdparty
path to the include search path if the use system option is unset or off.
Fix thread guards to use thread IDs instead of handles (#1161)

GetCurrentThread() returns the same pseudo-handle for every thread. It cannot be used to determine if two calls were made from the same thread.