Deletes the text between start and end.
Because the textbuffer is modified, all outstanding iterators become invalid after calling this function.
This method emits the delete_range signal.