Add missing b-tweak to skcms_TF_Invert()

First I added an assert (x >= 0) to powf_().

That failing helped me notice we're not
checking ad+b >=0 in tf_is_valid().

That failing helped me notice skcms_TF_Invert() can
take ad+b >= 0 inputs and create ad + b < 0 outputs.

To fix that, apply the same tweak to b we do when fitting.

To follow the story in smaller steps,
  1) https://skia-review.googlesource.com/c/skcms/+/235899
  2) https://skia-review.googlesource.com/c/skcms/+/235909
  3) https://skia-review.googlesource.com/c/skcms/+/235912

Bug: chromium:976551
Change-Id: If281a2151f41b6dd5bcc86992d2104576f7c985f
Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/235913
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
8 files changed