Steady alternateGridColor

fixes #1801

Original behavior is unchanged in cases where the tickPositions are not calculated dynamically.

When this change does apply, instead of determining even/odd position among currently visible ticks, it considers its position relative to the max value of the axis. This also applies a band from the minimum visible position to the first tick when appropriate.