Move scaling stuff to video_init, don't recreate them for every column
Add nordlicht_buffer, nordlicht_buffer_size, and nordlicht_set_buffer to the API

This allows users to provide their own buffer they want to fill. This
could be an mmap'ed file or a QImage's data pointer, for example.
Tool: Introduce a "live" mode where it writes to a mmap'ed .bgra file

This is a feature for mpv-nordlicht and will be removed when a
proper integration is ready.
In live mode, do a fast pass, then a slow pass