Add a new output format, spupng.

Specifying -out=spupng instructs ccextractor to create a .xml file
and a set of .png files for use with dvdauthor's spumux.
spumux can use these files to add a subtitle stream to MPEG-2 files
that conform to DVD-Video standards.

Support for PNG files made it necessary to add background colors, namely
transparent and black. In particular, a transparent caption cell can now be
distinguished from a cell containing an opaque space by virtue of its color.
If the color is COL_TRANSPARENT, the cell is transparent, and the video
underneath is visible. If the cell's color is anything else, like COL_WHITE,
it indicates the character's forground color on a black background.
So a cell with a space character and a white foreground is displayed as
an opaque black rectangle and the video underneath is obscured.
COL_BLACK was added to make the association between the enum color_code
and the PNG palette entry for black.

One .xml file is created per output field. A set of .png files are created
in a directory with the same base name as the corresponding .xml file(s),
but with a .d extension. Each .png file will contain an image representing
one caption and named subNNNN.png, starting with sub0000.png.
For example, the command:
    ccextractor -out=spupng input.mpg
will create the files:
    input.xml
    input.d/sub0000.png
    input.d/sub0001.png
    ...
The command:
    ccextractor -out=spupng -o /tmp/output -12 input.mpg
will create the files:
    /tmp/output_1.xml
    /tmp/output_1.d/sub0000.png
    /tmp/output_1.d/sub0001.png
    ...
    /tmp/output_2.xml
    /tmp/output_2.d/sub0000.png
    /tmp/output_2.d/sub0001.png
    ...
Change build scripts to use libpng.
Fix Makefile's install rule
Print file position
Debug print begin/end of XDS. Make debug print of CC chars easy to echo.
Fix handling of PAC's with color/font changes.
Treat Mid-Row Codes like solid (not transparent) spaces.

Now that the concept of transparency has been added for PNG files,
when we receive a Mid-row code, we must change the background color from
COL_TRANSPARENT to the current foreground color, not just advance the
cursor.  Easily accomplished by calling write_char.
Correct comment & commit msg about Hauppauge analog captures.

I was working from faulty memory. Both ivtv and cx18 drivers will use both
itv0 and ITV0 prefixes. For details, see:
http://git.linuxtv.org/media_tree.git/blob/HEAD:/Documentation/video4linux/cx2341x/README.vbi
Add header dependencies to linux/Makefile.
Fix handling of repeat commands.

There were two approaches, neither were perfect.

One approach used the variables, last_command_hi=0 & last_command_low=0.
This ignores the fact that both field and channel can change. Plus
these variables weren't being cleared when characters were received.

The other approach used the per field/channel data members,
wb->data608->last_c1 and wb->data608->last_c2.
Thes variables weren't being cleared when a repeat command was received.

The fix: comment out code that uses the variables, last_command_hi=0 &
last_command_low=0 and clear the per field/channel members when a repeat
command is received.
Write inputfile to xml.
Ignore linux/depend in .gitignore
Fix timing of paint-on captions.

Fix timing problem in write_char by updating
wb->data608->current_visible_start_ms when a character is added to an empty
use_buffer AND the use_buffer is the current visible buffer.

Added dbg_print to print start/end caption times.

Fixed bug where command, "RDC - Resume Direct Captioning" was being logged
as "RU1- Fake Roll up 1 rows.".
Fix timing of roll-up captions.

If a Roll-Up Captions command causes the displayed buffer to be empty,
set the empty flag. This allows write_word to set the visible start time
for the next caption appropriately.
Check for characters that spumux won't parse.
Merge branch 'spumux-png'