Base type definitions and aliases.

This module doesn't provide aliases for all types used by Windows, but only for types that can vary on different platforms. For example there is no need to define INT32 alias for D, since int is always a 32-bit signed integer. But int and its Windows alias INT is not the same on all platforms in C, so its size can be something differen than 32 bit, therefore an INT alias is available in this module. TCHAR can be a char if Unicode isn't supported or wchar if Unicode is supported, so TCHAR is defined here. Also aliases for specific types like SOCKET are defined here.