Speed up optimization pipeline

This alters the pipeline to improve the speed of the passes without impacting the performance of the compiled code.

This also makes `mergefunc` a default pass as it actually improves the speed of the inliner (less to inline) and lowers the size of the compiled binary, without a noticeable change in performance.