Тут мысля пришла из твоей идеи. Бордер можно записывать в промежуточный буфер-регистр и обновлять его через строку, тем самым бордерные эффекты могут и нормально выводится. Т.е. по крайней мере памяти под бордер не нужно. Надо будет попробовать эту мысль.
