Всё, я эволюционировал до осознания того, что я всё это время пытался грузить XHR'ом картинки со сторонних ресурсов, что запрещено в браузерах, и получал ошибку вместо картинки. Потому мою систему, увы, сделать невозможно, по крайней мере используя только js, однако локальные картинки действительно кэшируются после XHR загрузки.