Fix build process for newer versions of Emscripten
Replace anonymous initializers with local value. This prevents a runtime error on Emscripten unit tests.
Ignore extra Emscripten warning options for backwards compatibility. In other words, we can supply new warning flags even to old versions of Emscripten.
Replace flags with modern cmake options.