let emcc directly access bitcode files when possible, to emit proper .d files and avoid unnecessary copies
add dependency file testing
handle --default-object-ext properly, and other emcc fixes