Use additional samples to test for constant parts of an axial gradient

The method doAxialShFill does adaptive sampling of gradients.
If the gradient color is found to be the same at two consecutive
sampling locations then the gradient is concluded to be constant
between the two locations.

Of course, this conclusion may be wrong; one instance of this
happening is

  poppler/poppler#938

This patch fixes rendering of the test file in issue 938 by doing
one more sampling when a part of the gradient is suspected to be
constant.  Of course it is easily possible to create gradients
also misrender with the additional sampling point.  Should such
gradients ever appear in actual non-synthetic documents the code
can now easily handle yet more sample points.

Fixes: poppler/poppler#938
7 jobs for fix-bug-938-repeated-pattern in 6 minutes and 28 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Build
passed #12024875
build

00:05:58

passed #12024880
build_android

00:01:15

passed #12024876
build_clang12_libcpp

00:06:27

passed #12024879
build_clazy_clang12

00:05:31

passed #12024878
build_mingw64_fedora33

00:03:59

passed #12024877
build_ubuntu_18_04

00:03:05

passed #12024874
clang_format

00:01:42