This allows using (almost) the same code for printing floats everywhere,
removes the dependency on sprintf and uses just snprintf and
applies an msvc-specific fix for snprintf in a single place so
nan/inf are now printed correctly.
- Use a single file env.props for defining the main directories used when building.
env.props resolves the base directory and defines overridable output directories,
and is used by all other build files.
- Fix the build currently failing, basically because the preprocessing command for generating
qstrdefs uses different include directories than the build itself does.
(specifically, qstrdefs.h uses #include "py/mpconfig.h" since the fixes for #1022
in 51dfcb4, so we need to use the base directory as include directory, not the py dir itself).
So define a single variable containing the include directories instead and use it where needed.