ddraw: Fix render target refcount handling.

Similar to AddAttachedSurface() / DeleteAttachedSurface(), we should Release
the interface version that we stored. (And actually store the interface that
we AddRef.)
ddraw: Don't set render target / depth stencil usage on sysmem surfaces.

Setting render target usage on a P8 surface for example would fail surface
creation, while such surfaces can't be used for actual rendering anyway. Tests
confirm that surface creation is supposed to succeed for P8 surfaces with both
DDSCAPS_SYSTEMMEMORY and DDSCAPS_3DDEVICE set.
ddraw: Verify that the surface is a render target in d3d_device_create().
d3d10core: Avoid LPSTR.
d3d10core: Avoid LPVOID.
wsnmp32: Add stub implementations for a couple of functions.
kernel32/tests: Add initial CreateFile2 tests based on the CreateFileW tests.
msvcrt/tests: Load the correct function on ARM.
d3dx9_36/tests: Create*TextureFromFileInMemory doesn't fail.

If the format is unsupported it picks a replacement format. Our d3dx9
cannot handle d3dx9 decompression yet, so mark the tests todo_wine in
this case.
dxgi.idl: Added DXGI_PRESENT_* defines.
d3dcommon.idl: Added WKPDID_D3DDebugObjectName declaration.
iphlpapi: Add a configure check for struct __res_state.
iphlpapi: Add a version of get_dns_servers for Android.
msvcrt: Don't forward memcmp to ntdll.
msvcrt: Don't forward memmove to ntdll.
msvcrt: Don't forward strcmp to ntdll.
msvcrt: Don't forward strlen to ntdll.
msvcrt: Don't forward strncat to ntdll.
msvcrt: Don't forward strrchr to ntdll.
msvcrt: Don't forward strstr to ntdll.