Progress on porting Firefox

We already use lld to link, Mozilla did some engeneering build system hacks to produce optimized build as much as possible. They concat large count of C++ source files into a few compilation unit for more optimization, they links many static libraries into single libxul.so for efficient dead code elimination and so on. These require more memory to build.