[XLA] Simplify the comparison computations generated by the `CreateScalarXXXXXComputation` functions.
[XLA] Simplify the comparison computations generated by the `CreateScalarXXXXXComputation` functions.

The new logic is simpler, better tested, and produces simpler output:

E.g. before:

```
compare-greater-than.4 {
  p.1.lhs.7 = s32[] parameter(2)
  p.1.rhs.8 = s32[] parameter(3)
  constant.9 = pred[] constant(true)
  broadcast.10 = pred[] broadcast(constant.9), dimensions={}
  p.0.lhs.5 = u8[] parameter(0)
  p.0.rhs.6 = u8[] parameter(1)
  compare.11 = pred[] compare(p.0.lhs.5, p.0.rhs.6), direction=GT
  ROOT select.12 = pred[] select(broadcast.10, compare.11, broadcast.10)
}
```

after

```
compare-greater-than.4 {
  p.1.lhs.7 = s32[] parameter(2)
  p.1.rhs.8 = s32[] parameter(3)
  p.0.lhs.5 = u8[] parameter(0)
  p.0.rhs.6 = u8[] parameter(1)
  ROOT compare.9 = pred[] compare(p.0.lhs.5, p.0.rhs.6), direction=GT
}
```
