csiparse() mishandled colon-form SGR (ESC[38:2:r:g:bm): the undercurl
patch's readcolonargs() swallowed the colour sub-parameters, so the
foreground never became a truecolor value and the image id encoded in
it could not be recovered. Only consume colon args for non-colour
attributes, and only while ';' is still the separator.
Also suppress the U+10EEEE placeholder glyph itself when drawing, so
only the image shows.
Fixes the base64 decoder's signed shift overflow found by UBSan.
Images with a negative z-index are composited between the background
and foreground passes of xdrawline, so that text renders on top of
them with alpha blending, as the protocol requires.
Adds kitty.c/kitty.h implementing the kitty graphics protocol behind
KITTY_GRAPHICS_PATCH, enabled in patches.h.
Supports transmission (direct, file, temp file, POSIX shared memory),
the RGB/RGBA/PNG formats with a self-contained PNG decoder, zlib
compression, chunked transfers, placements with source rects, scaling,
cell offsets, z-index ordering with alpha blending via XRender,
relative and Unicode-placeholder virtual placements, the full set of
delete selectors, queries, image numbers and animation (frame
transfer, composition and playback).