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).
(cherry picked from commit c1b0662b40)
Our necessary custom changes will be reapplied in later commits for clarity,
and saved as patches for future updates.
(cherry picked from commit cb0f771aaa)