d3dretrace: Fix buffer overflow unserializng D3DPRESENT_PARAMETERS.

Regression introduced with 915d4dacfe286d2203c90983fca05c06b877e27c.

Second time the very same thing happens.  So this time try to make it
harder for future re-occurrences.
inject: Cope with ordinals in GetProcAddress.
inject: Restart composition when injecting into DWM process.
inject: Restart DWM service after tracing.
retrace: Prevent and warn memcpy buffer overflows.
cmake: s/CMAKE_COMPILER_IS_GNUC/CMAKE_COMPILER_IS_GNUCC/

Misnomer.
cmake: Define a macro to simplify the addition of linker flags.
cmake: Enable DEP and ADSLR on Windows.
cmake: Enable stack protection on debug builds.
inject: Patch delay-load import descriptors too.

We intercept LoadLibrary/GetProcAddress, but patching delay-load
import descriptors enable us to patch previously loaded functions
when we attach to an existing process.
inject: Cleanup and improve error reporting.
inject: Enable processes running with different users to access the shared memory.
inject: Better handling of DWM restart on Windows 8
Revert "d3d9trace: Prototype capability clamping."

This reverts commit 54e0a9a293e8bbf6029dc6c6a69c9b949b379f9c.

Was not meant to be commited in master.
dxgitrace: Trace IDXGIDisplayControl interface.
os: Don't ignore C++ exceptions on debug builds.
SQUASH: Fix NDBEUG
os: Move CLD instruction to top.
d3dretrace: Handle IDXGIFactory2::CreateSwapChainForComposition better.
inject: Don't bother trying to terminate DWM process if it's already dead.