Specialize the DeduplicateInputs and RemoveIdentityLinalgOps patterns for GenericOp instead of implementing them for the LinalgOp interface.
This revsion is based on https://reviews.llvm.org/D105622 that moves the logic to erase identity CopyOps in a separate pattern.
I chose to use the generic op builder and inline the region here instead of using the LinalgOp.clone. I though this is more in line with the new pattern working on GenericOps only but I am fine to switch back to the LinalgOp.clone.