Решение повесить обработчик "mouseleave" на элементы списков странно, но оно работает (я бы сделал как-то так
jsfiddle.net/MBags).
Решение хранить в localStorage весь HTML-код тоже странно, но и оно работает (я бы хранил список строк, например, в JSON).
Проблема в том, что в обработчике на "mouseleave" вы сохраняете в какое-то новое неиспользуемое место в localStorage "content" данные не по всему outputTask, а по конкретной строчке. Вообщем, если вы замените
localStorage.setItem('content', this.innerHTML);
на
localStorage.setItem('todos', outputTask.innerHTML);
то ваше решение заработает.