Ключевой момент в дауне:
x1 = x2 = e.pageX;
y1 = y2 = e.pageY;
начальные и конечные координаты надо приводить к началу событий, тогда каждый раз рамка будет начинаться с них, а не хз откуда где она кончилась в прошлый раз и, поэтому, закрыть ссылку уже не получится.
Остальные мульки смотри в убдейте
https://jsfiddle.net/9xhLnjh0/1/ )))