Add support for saturating add/sub in InstructionSimplify. In particular, the following simplifications are supported:
* sat(X + 0) -> X
* sat(X + undef) -> X
* sat(X uadd MAX) -> MAX
* (and commutative variants)
* sat(X - 0) -> X
* sat(X - X) -> 0
* sat(X - undef) -> 0
* sat(undef - X) -> 0
* sat(0 usub X) -> 0
* sat(X usub MAX) -> 0