dotMorten
## Goal Add high-level image upload APIs that accept `System.Drawing.Bitmap` instances and image files, then convert the source image to the connected display's declared color scheme before transfer. ## Proposed API - Provide a local bitmap type that can be created from System.Drawing.Bitmap, or file path, as well as raw pixel buffer. - Internally this image has helpers for fit, crop, letterbox, adapting to colorschemes, and dithering. - Read the connected panel's dimensions and `ColorScheme` from its OpenDisplay configuration. - Fit, crop, or letterbox the source image to the panel dimensions using documented options. ## Panel-aware conversion Convert source pixels to the connected panel's supported palette and packed wire format, including: - 1-bit monochrome: black / white. - Gray4: four gray levels with optional ordered or error-diffusion dithering. - Black / white / red and black / white / yellow panels. - Other OpenDisplay color schemes supported by the protocol. The conversion must preserve existing low-level caller-encoded upload APIs and expose options for palette mapping, dithering mode, and image fitting. ## Acceptance criteria - `Bitmap` and file-based upload APIs select encoding from device configuration. - Gray4 and monochrome conversion is covered by deterministic tests. - At least one color-panel palette mapping is covered by tests. - Resulting bytes are sent through the existing optimized PIPE_WRITE/direct-write transfer path.