Makes it possible to pass around the options to a pass inside a schedule. The refactoring also makes it so that the pass manager and pass are only constructed once per `apply()` of the transform op versus for each target payload given to the op's `apply()`.
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.