Juiced the Decode API.

See 'imageReader'. We can automatically decode to different pixel
formats. Typically, this means we can decode to RGB or grayscale just by
changing the types.
Juiced the Encode API.

See 'imageWriter'. This grants substantially more flexibility to the
source frames used to produce a video. Input pixel formats can change
mid-stream; input resolutions can change mid-stream as long as the
output is not palettized.