Splits `Node3DEditorViewport` into a dedicated file.
The main `Node3DEditorPlugin` file was one if the biggest files of the entire engine. It was getting way too big to be viewed, parsed and displayed effectively (e.g. GitHub, certain IDEs). While still big after this PR it at least splits it more or less in half.
- Moves `Node3DEditorViewport` and related helper classes to its own file `node_3d_editor_viewport` file.
- Moves the (shared) constexpr to its own file `node_3d_editor_constants` file.
- Forward declares many more classes.
- Removes unnecessary includes.
- Fixes classes that needed the actual Node3DViewport class.
Adds set_flag(FLAG_RESIZE_DISABLED, true) to ConfirmationDialog and
AcceptDialog instances which only contain plain content. Dialogs
with content that could leave the borders of the dialog were kept
as resizable.
The flag is set explicitly at dialog creation time, instead of the
previous auto-detect approach. In cases of uncertainty, the dialog was
left as resizable.
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.
Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.