Add --rescan-libs flag to emcc.

This flag has the same behavior as adding -Wl,--start-group and
-Wl,--end-group around the entire set of archives: after processing all
inputs, the archives are repeatedly examined again for new object files
which satisfy newly discovered undefined symbols until no new symbols
are satisfied.

This allows static libraries to be provided in any order and to have
circular dependencies, but may have a significant performance penalty
since many passes may be necessary.