Простейший вариант реализации, без доп библиотек.

К игнитеру добавлено все 3 файла:

конроллер imagecache
вид imagecache
тестовая картинка

плюс настроены роуты и конфиг

Основной упор на простоту, поэтому нет мешуры из проверок на валидность, ошибки.
Не совсем понятен последний пункт задания про system.config - в каком виде оно должно быть?
Также не понятен пункт про отдачу кэшированного файла минуя контроллер. Тут вопрос - размеры будут постоянно 800 на 600? Или это переменная? Я реализовал так, что размер задается в URI. Конроллер проверяет существование уже отмаштабированной картинки и если файл существует, то просто передает содержимое в браузер через file_get_contents. Я думаю это можно считать "почти минуя" :) Еще вопрос по части нерезкого маскирования - это принципиально в данном случае или потянет обычный ресамплинг из GD2?