Create the memref dialect and move several dialect-specific ops without
dependencies to other ops from std dialect to this dialect.
Note: The ops haven't been removed from std dialect yet.
The roadmap to split the memref dialect from std is discussed here:
https://llvm.discourse.group/t/rfc-split-the-memref-dialect-from-std/2667
Could/should it be a method on the CastOp instead?