### Godot version

4.1

### System information

Windows

### Issue description

Being able to have multiple cursors similarly to vscode is a great feature, however it's only possible to add carets, not remove them. By left clicking you can remove all extra cursors but you cannot remove a specific one so after selecting multiple lines a single missclick, you have to reselect them all again. Looking at the original pr there was a remove_caret function added so it would make sense to be able to remove carets when clicking again, like in vscode.

![image](https://github.com/godotengine/godot/assets/19669673/3867c00e-9faa-4429-9c6d-f2d6d3883044)


### Steps to reproduce

- Alt click to add multiple carets
- Alt click on the same position again
- Nothing happens

### Minimal reproduction project

N/A
int col = pos.x;
				int left_margin = theme_cache.style_normal->get_margin(SIDE_LEFT);
				for (int i = 0; i < gutters.size(); i++) {
					if (!gutters[i].draw || gutters[i].width <= 0) {
						continue;
					}
					if (mpos.x >= left_margin && mpos.x <= left_margin + gutters[i].width) {
						emit_signal(SNAME("gutter_clicked"), row, i);
						return;
					}
					left_margin += gutters[i].width;
				}
				
				if (draw_minimap) {
					_update_minimap_click();
					if (dragging_minimap) {
						return;
					}
				}
				int caret = carets.size() - 1;
				int prev_col = get_caret_column(caret);
				int prev_line = get_caret_line(caret);
				const int triple_click_timeout = 600;
				const int triple_click_tolerance = 5;
				bool is_triple_click = (!mb->is_double_click() && (OS::get_singleton()->get_ticks_msec() - last_dblclk) < triple_click_timeout && mb->get_position().distance_to(last_dblclk_pos) < triple_click_tolerance);
				if (!is_mouse_over_selection() && !mb->is_double_click() && !is_triple_click) {
					if (mb->is_alt_pressed()) {
						prev_line = row;
						prev_col = col;
						caret = add_caret(row, col);