stbt camera calibrate: Refactor geometric calibration for reuse
stbt camera calibrate: Refactor geometric calibration for reuse

This refactoring separates the integrationy bits of geometric calibration
from the image processing/algorithmic bits.  The API joining the two
is:

    CHESSBOARD_VIDEO
    calculate_chessboard_calibration_params(frame) -> params
    find_corrected_chessboard_corners(params, points) -> ideal, actual

`CHESSBOARD_VIDEO` describes a video of a chessboard images of which the
other functions will operate upon.

`calculate_chessboard_calibration_params` implements the calibration
algorithm.  It takes an image of the chessboard and returns the geometric
correction parameters.

`find_corrected_chessboard_corners` is used for validation.  It applies
these parameters to an image of the chessboard returning two sets of
points: the ideal positions of these points and where they would be found
if the given correction parameters were applied.

This is easier to understand and may make
`calculate_chessboard_calibration_params` useful independently.

stb-tester/stb-tester,martynjarvis/stb-tester,LewisHaley/stb-tester,stb-tester/stb-tester,martynjarvis/stb-tester,martynjarvis/stb-tester,stb-tester/stb-tester,LewisHaley/stb-tester,LewisHaley/stb-tester,LewisHaley/stb-tester,stb-tester/stb-tester,LewisHaley/stb-tester,LewisHaley/stb-tester,martynjarvis/stb-tester,LewisHaley/stb-tester,martynjarvis/stb-tester,martynjarvis/stb-tester,martynjarvis/stb-tester