DeckLink audio sync tweak
RawFrame: add TGA file support

This changes RawFrame::from_png_file() to RawFrame::from_image_file(),
necessitating the change to ReplayPlayoutImageFilter.
RawFrame: add alpha compositing support

This differs from the existing alpha-keying support in two ways.
First, it permits copying only a portion of the source. Second,
unlike the alpha-key routines, it does not ignore the background
alpha.
keyer: add JsCharacterGenerator class

This character generator executes a piece of JavaScript code to render each
frame. Frames are built up from a collection of assets loaded from image
files. JavaScript is passed in from a subprocess via stdin and compiled
using v8 to yield an object; this object's "render" property is taken
as a rendering function and called for each frame. It calls "draw" to
combine the assets into the final frame.
better (but slower) alpha keying
rewrite BGRAn8 compositor in assembly

The last iteration is true to the well-known formulas for alpha blending,
but is too slow to composite a 1920x1080 frame in realtime. This version
is both fast and correct.

Compositing using premultiplied alpha could get even more speed but it seems
impractical given that everything still has to be multiplied by the global
alpha value. Therefore, only one multiplication (pixel alpha * global alpha)
can really be saved by going to premultiplied.
test_js_cg_script: accept number of frames, write TGA

Accept the number of frames on the command line so the user can choose how
many they want to generate. Also, write TGA files, so that tedious manual
conversion from BGRA to png or other usable formats can be avoided.
fix whitespace in js_character_generator_script.cpp
add command interface to JS keyer HTTP API
Merge remote-tracking branch 'origin/master'