### Godot version

4.0 stable

### System information

Manjaro Linux, kernel 6.1.1-1-MANJARO, AMD Ryzen 5 3600, AMD RX 580

### Issue description

The `wrap_mode` property of the `TextEdit` node doesn't seem to really do anything. Setting it to `LINE_WRAPPING_BOUNDARY` simply means that there won't be an horizontal scrollbar if the text overshoots the boundary, instead of actually forcing the text to the next line so that it stays visible.

### Steps to reproduce

Create a TextEdit node and set its `wrap_mode` property to `LINE_WRAPPING_BOUNDARY`

### Minimal reproduction project

[WrapBugDemo.zip](https://github.com/godotengine/godot/files/10875969/WrapBugDemo.zip)

}
				}
			}
			int top_limit_y = 0;
			int bottom_limit_y = get_size().height;
			if (!editable) {
				top_limit_y += theme_cache.style_readonly->get_margin(SIDE_TOP);
				bottom_limit_y -= theme_cache.style_readonly->get_margin(SIDE_BOTTOM);
			} else {
				top_limit_y += theme_cache.style_normal->get_margin(SIDE_TOP);
				bottom_limit_y -= theme_cache.style_normal->get_margin(SIDE_BOTTOM);
			}
			
			line_drawing_cache.clear();
			int row_height = draw_placeholder ? placeholder_line_height + theme_cache.line_spacing : get_line_height();
			int line = first_vis_line;
			for (int i = 0; i < draw_amount; i++) {
				line++;
				if (line < 0 || line >= (int)text.size()) {
					continue;
				}
				while (_is_line_hidden(line)) {
					line++;
					if (line < 0 || line >= (int)text.size()) {
						break;
					}
				}
				if (line < 0 || line >= (int)text.size()) {
					continue;
				}