Define behavior that 'emcc -c a.c -o dir/' shall compile and generate object file 'dir/a.o'. Previous behavior when directory was specified in -o was accidental, and it generated an object file 'dir/a_0.o'. Add new command line option --default-obj-ext that allows specifying the file suffix that is used when the output object filename is generated in this manner. '.o' is a good default suffix since it parallels the existing gcc/clang/linux convention. For Windows Visual Studio+CMake+Emscripten integration, CMake has been hardcoded to assume that if Visual Studio is targeted, the compiler will always generate '.obj' files. Hence having the ability to adjust the default naming scheme with --default-obj-ext enables working around CMake inflexibility, and add support for CMake+VS+Emscripten triple.