bool: implement Ord and TotalOrd

This is mostly just to make deriving more convenient, which is probably why Haskell does this too.