ci: build with MSVC on Windows
ci: build with MSVC on Windows

Finally, we have to reintroduce MSVC support:

We love the Windows and MSVC platform for its unique features:
- _CRT_NONSTDC_NO_WARNINGS -> complain about read() and isatty() just
  for the sake of complaining
- _CRT_SECURE_NO_WARNINGS -> annoys us when we are to lazy trying to
  pretty print error messages
- NOMINMAX -> prevent us from using std::numeric_limits<T>::max()
- warn excessivly about conversions with possible loss of data. The best
  ones are for inconsisten Windows APIs e.g. sending us a size_t, which
  we have to give back as an int ...

We fix a lot of warnings previously, but still we cannot treat warnings
as errors on MSVC, because on Windows the TwinCAT header files still use
plain defines for uint16_t values like AMSPORT constants. So we still
see some warnings, when building on Windows with MSVC with TwinCAT
support:
../AdsLib/AdsDevice.cpp(134): warning C4244: 'argument': conversion from 'const ADSSTATE' to 'uint16_t', possible loss of data
../AdsLib/AdsDevice.cpp(133): warning C4244: 'argument': conversion from 'const ADSSTATE' to 'uint16_t', possible loss of data

Signed-off-by: Patrick Bruenn <27dd71a6a4a167461f53ec06010a2a08d399a527@beckhoff.com>

Beckhoff/ADS,Beckhoff/ADS,Beckhoff/ADS,Beckhoff/ADS