Images must be stored independently of cels. So read/write_cel() just
read/write the Cel information (with image ID only), and the image data
must be read/written by the caller.
Changes:
* Add doc::ImageRef to count references to the same image between Cels
(at this moment we cannot generate linked cels anyway)
* Remove doc:Stock class and doc::Sprite::m_stock member variable
* Remove app::undoers::Add/RemoveImage
* Add doc::SubObjectsIO and app::undoers::ObjectIO to
replace doc::LayerSubObjectsSerializer