Repository: godot
Issue: `ClassDB.can_instantiate` should report `false` on these classes.
Labels: bug,topic:core

### Godot version

v4.0.2.stable.official [7a0977ce2]

### System information

Windows 10

### Issue description

I have wrote an script to instantiate every class using `ClassDB`, and I've found which cause error. I have also documented what happens when trying to create them from GDScript.

This is the list:

```
var problematic_classes := [
	"ScriptExtension",		# Should be abstract.	ClassDB/GDScript: USER ERROR: Required virtual method ScriptExtension::_get_language must be overridden before calling.
	"Tween",			# ClassDB/GDScript: Error: "can't be created directly."
	"PropertyTweener",		# ClassDB/GDScript: Error: "can't be created directly."
	"IntervalTweener",		# ClassDB/GDScript: Error: "can't be created directly."
	"CallbackTweener",		# ClassDB/GDScript: Error: "can't be created directly."
	"MethodTweener",		# ClassDB/GDScript: Error: "can't be created directly."
	
	"InputMap",			# Singleton.	ClassDB: USER ERROR: Singleton in InputMap already exist. 									GDScript: Nonexistent function "new"
	"Time",				# Singleton.	ClassDB: USER ERROR: Singleton for Time already exists. 									GDScript: Nonexistent function "new"
	"ProjectSettings",		# Singleton.	ClassDB: USER ERROR: Instantiating a new ProjectSettings singleton is not supported, Crash.	GDScript: Nonexistent function "new"

	"AudioServer",			# Singleton.	ClassDB: No Error Message, Crash. 	GDScript: Nonexistent function "new"
	"CameraServer",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"ClassDB",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"DisplayServer",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"Engine",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"EngineDebugger",		# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"GDExtensionManager",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"Geometry2D",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"Geometry3D",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"GodotSharp",			# Singleton.	ClassDB: No Error Message. 		GDScript: Class does not exist
	"IP",				# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"Input",			# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"JavaClassWrapper",		# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"JavaScriptBridge",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"Marshalls",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"NavigationMeshGenerator",	# Singleton.	ClassDB: No Error Message.		GDScript: Nonexistent function "new"
	"NavigationServer2D",		# Singleton.	ClassDB: No Error Message.		GDScript: Abstract
	"NavigationServer3D",		# Singleton.	ClassDB: No Error Message.		GDScript: Abstract
	"OS",				# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"Performance",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"PhysicsServer2D",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"PhysicsServer2DManager",	# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"PhysicsServer3D",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"PhysicsServer3DManager",	# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"RenderingServer",		# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"ResourceLoader",		# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"ResourceSaver",		# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"ResourceUID",			# Singleton.	ClassDB: No Error Message. 		GDScript: Abstract
	"TextServerManager",		# Singleton.	ClassDB: No Error Message. Crash.	GDScript: Nonexistent function "new"
	"ThemeDB",			# Singleton.	ClassDB: No Error Message. 		GDScript: Nonexistent function "new"
	"TranslationServer",		# Singleton.	ClassDB: No Error Message, Crash.	GDScript: Nonexistent function "new"
	"WorkerThreadPool",		# Singleton.	ClassDB: No Error Message.		GDScript: Abstract

	"XRServer",			# Singleton.	ClassDB: USER ERROR: Parameter "xr_server" is null, Crash.	GDScript: Nonexistent function "new"

	"PhysicsServer2DExtension",	# Should be Abstract.	ClassDB: Delayed crash, other classes get USER ERROR: Parameter "PhysicsServer2D::get_singleton()" is null.	GDScript: Multiple errors "Required virtual method ... must be overriden before calling."
	"PhysicsServer3DExtension",	# Should be Abstract.	ClassDB: Delayed crash, other classes get USER ERROR: Parameter "PhysicsServer3D::get_singleton()" is null.	GDScript: Multiple errors "Required virtual method ... must be overriden before calling."
]
```

As you can see there are three main categories:

- Singletons.
- Classes that should be abstract but aren't.
- Tween et.al.

Why did I do this? I was trying to make a project that would check every property of every Resource to see if they emit changed... Which got out of hand, so I wanted a sanity check. Now I know that only `ScriptExtension` causes issues on instantiation.

### Steps to reproduce

Calling `ClassDB.can_instantiate` passing any of these class names returns `true`.

The project attached will use the list posted above to *skip* these classes. So using the attached project what you would do is remove form the list and execute.

### Minimal reproduction project

This project contains the script I used to find out these classes: [ErrorTest.zip](https://github.com/godotengine/godot/files/11546425/ErrorTest.zip). Running it as-is would cause no error as it *skips* all the problematic classes using the list I posted above.