This avoids namespace collisions with things such as X509_NAME. Also force include of necessary definitions in `crypto/o_str.c` which seem missing on MSVC (but work on MinGW).
Our necessary custom changes will be reapplied in later commits for clarity, and saved as patches for future updates.
Same rationale as the previous commits.