Sync closed caption code with master.
Fix CEA-608 preamble access codes that indent.

See https://code.mythtv.org/trac/ticket/12051
Make sure cc608 FormattedTextChunk::textRect has non-zero width

See https://code.mythtv.org/trac/ticket/12056
Improve legibility and display of CEA-608 captions.

Make sure 608 captions are centered on screen, while still confined
to 90% safe area, as long as zoom factor is not too extreme.

Use correct maximum columns (32) and rows (15) for geometry.

Compute a better font.pixelSize by making first guess, then adjusting
using QFontMetrics' height and lineSpacing to choose a font.pixelSize
that works for all but the most extreme fonts.

Eliminate use of fudge factors that caused a number of problems, such as:
- smaller than necessary font.pixelSize.
- Gaps between caption lines.
- Captions meant for row 14 appearing on row 15.

Make sure top rows are anchored to top of safe area and bottom rows are
anchored to bottom of safe area while eliminating unhelpful
floating point arithmetic.

More logging at verbosity vbi and log level debug have been added to
gain visibility into geometry calculations.

See https://code.mythtv.org/trac/ticket/12057
Pad for italics

If a chunk is in italics, add a few pixels to the width.
This is to compensate for some font/char combos that would otherwise
have the top right corner of the last char clipped.
The effect can be seen with Droid Sans Mono and certain upper case chars
like E or W.