Makefile: fix link with bfd linker
Buffer::on_erase: avoid resizing lines more than necessary
replay_macro: parse keys only once
move BufferIterator on_{insert,erase} as DynamicSelectionList implementation detail
Editor: replace selections().back() with main_selection()
Editor: keep selections sorted and use an index for the main one