* factor out raw image data alloc/dealloc into separate detail::buffer * remove shallow ctor * remove no-op dtor from image_data