Clean up Visual Studio int to bool cast warnings.
Fix file reading to string on Windows by using binary read mode to avoid the return value from ftell() to differ from the number of bytes read by fread() due to length mismatches caused by \r\n vs \n conversion when reading in ascii mode.
Add support for reading the location of the native optimizer from EMSCRIPTEN_NATIVE_OPTIMIZER environment variable.
Allow specifying EMSCRIPTEN_NATIVE_OPTIMIZER in .emscripten to configure the location of the native optimizer.
Add a note comment to .emscripten template to remind to escape backslashes on Windows.
Add a note to .emscripten config file on how to configure native optimizer location.
Remove use of C++11 struct initializer lists to enable building JS optimizer with Visual Studio 2012 that does not support those.
Fix warning from Visual Studio 2013 static code analyzer: curr may be 0. Operator new will instead throw an exception on failure.
Fix static code analysis diagnostic found by cppcheck 1.67: [simple_ast.h:575]: (error) Common realloc mistake: 'buffer' nulled but not freed upon failure.
Make struct Frag ctor from string explicit for good form.
Visual Studio 2013 and older do not support new C++11 functionality on strtod for parsing numbers as hex strings ("0x..."), so explicitly parse hex string numbers using strtoul instead, which supports hex strings in C++03 already.
Add an assert() to expose a failing condition on Windows during simplifyOps run.
Merge pull request #3093 from juj/native_optimizer_windows_work

Native optimizer windows work