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.
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`.
- Removes unused / unnecessary methods.
- Removes the `Object` parent. No `Object` features are used by this class.
- Makes the actual list a `LocalVector` instead of a `Vector`. It's not shared.
- Moves the class into a separate file. `editor_node.{h,cpp}` are bloated.
- Simplify some call sites of `EditorPluginList` methods.