### Godot version

4.0.dev (d0398f62f0)

### System information

Windows 10

### Issue description

`GraphNode` class declares members with conflicting names.  
- `selected` property: https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/scene/gui/graph_node.cpp#L1154
- `selected` signal: https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/scene/gui/graph_node.cpp#L1164

As now signals are truely members of the class, this leads to name colliding in several languages.  
- In GDScript, the signal can't be used as it is treated as a property:
![image](https://user-images.githubusercontent.com/48322356/210059248-edbbd142-5d34-41f0-a3f5-08d4f2e02fc3.png)
- In Kotlin, the generated API code cannot compile as signal and property declarations are conflicting:
```
e: ~\git\godot\modules\kotlin_jvm\kt\godot-library\src\main\kotlin\godot\gen\godot\GraphNode.kt: (53, 14): Conflicting declarations: public final val selected: Signal0, public final var selected: Boolean
e: ~\git\godot\modules\kotlin_jvm\kt\godot-library\src\main\kotlin\godot\gen\godot\GraphNode.kt: (182, 14): Conflicting declarations: public final val selected: Signal0, public final var selected: Boolean
```

### Steps to reproduce

Try to use `selected` signal from GDScript.

### Minimal reproduction project

N/A
Connection outgoing;
		for (List<Connection>::Element *E = connections.front(); E; E = E->next()) {
			if (E->get().from == p_w) {
				ORDER(E->get().to, r_layers);
				if (min_order > order) {
					min_order = order;
					outgoing = E->get();
				}
			}
		}
		if (outgoing.to != StringName()) {
			GraphNode *gfrom = Object::cast_to<GraphNode>(r_node_names[p_w]);
			GraphNode *gto = Object::cast_to<GraphNode>(r_node_names[outgoing.to]);
			Vector2 frompos = gfrom->get_connection_output_position(outgoing.from_port);
			Vector2 topos = gto->get_connection_input_position(outgoing.to_port);
			
			if (gto->is_selected()) {
				Vector2 connected_block_pos = r_node_positions[r_root[outgoing.to]];
				if (connected_block_pos.y != FLT_MAX) {
					
					threshold = connected_block_pos.y + (real_t)r_inner_shift[outgoing.to] - (real_t)r_inner_shift[p_w] + frompos.y - topos.y;
				}
			}
		}
	}
#undef MAX_ORDER
#undef ORDER
	return threshold;
}
void GraphEdit::_place_block(StringName p_v, float p_delta, const HashMap<int, Vector<StringName>> &r_layers, const Dictionary &r_root, const Dictionary &r_align, const Dictionary &r_node_name, const Dictionary &r_inner_shift, Dictionary &r_sink, Dictionary &r_shift, HashMap<StringName, Vector2> &r_node_positions) {