Я согласен, что так бы было более правильно, но этот класс всё таки расчитан на максимально простое выполнение задач вида: загрузили одно изображение -> обработали -> сохранили в другой файл. А так нужно будет использовать уже как минимум 2 объекта, и сам класс усложнится, так нужно будет отслеживать правильное копирование как битмапов так и id для DevIL. Если битмап будет один, то при его обработке будут затиратся старые значения.