i/o improvements for backspacing

used to redraw entire prompt, now only enough characters to satisfy backspacing are drawn using shell.erase(string).