Setup rejects NULL Body, nonpositive dimensions, depth outside 1..8, or
stored Compression above 1. It returns FALSE on those checks or required
allocation failure. It creates the source bitmap before calling Bitmap
Setup, supplies it through Bitmap_Bitmap, and frees it if superclass
setup fails. Temporary scanline bitmap allocation can fall back to
per-pixel writes.
Cleanup first invokes Bitmap Cleanup, clears Bitmap_Bitmap and then
frees the decoded bitmap after WaitBlit. Dispose frees any remaining
decoded bitmap, but does not replace the complete superclass cleanup
lifecycle. Body is never freed. Setters update stored fields only; they
do not decode again, request redraw or relayout. Width/Height tags
update both this class and Bitmap, so live changes can disagree with the
old decoded bitmap.