Add warnings-as-errors support for MSVC