Fix MSVC 9 build

C++ std::string extensions not available yet.
Fix MSVC command-line warning D9025

(overriding '/GR' with '/GR-')
Avoid newlines in linker/compiler flags

They won't work in Makefiles.
Use correct slash in error dialogs on Windows

(for missing data files errors)
Set the default symbol visibility to hidden
Use boost::numeric_cast for checked_range_cast

Fixes compiler warnings for clang and errors for -m32.
Remove needless cast from u64 to float and back
Prevent GLOBAL_SLOWDOWN < 0

Fix suggested by user CrumblingStatue.

Fixes: crash report #306