This introduces a `PaintTarget`, that defines the stream an operation uses to draw to (`stdout`, `stderr`, `sink`). It will be used in subsequent commits to configure the new spinner.