[Compiler] New object management in CompilerPipeline
The pipeline now deletes the CompilerPasses on its own destruction, making memory leaks harder to occur.