Multiple fixes:
* Fixed device not being updated correctly (changing the device dropdown did not actually change the underlying event's device)
* Device selection now defaults to `All Devices`
* Device is now displayed in the text shown in the input event editor, and in the action list.
* There was code running twice previously because of the following interaction: 1) input via "Listen for Input" tab. 2) `_set_event` gets called. 3) input list tree selection gets updated to match the listened event. 4) tree "item_selection" signal is emitted. 5) eventually `_set_event` is called again.
* The only reason this was not an infinite loop is because reselection is disabled on the tree. So, the code runs twice - not a big deal, but it is unnecessary processing and it could cause an issue in the future. If someone turns on reselection on the tree, the whole thing comes crashing down. This should prevent that scenario and make the code a bit safer and more robust.
* API kept the same (Although functions could be renamed to set_metadata/get_metadata in a later PR), so not much should change.
* Metadata now exposed as individual properties.
* Properties are editable in inspector (unless metadata name begins with _) under the metadata/ namespace.
* Added the ability to Add/Remove metadata properties to the inspector.
This is a functionality that was requested very often, that makes metadata work a bit more similar to custom properties in Blender.
This brings the level of line spacing closer to what it was like
in Godot 3.x, which improves usability on small displays.
This also decreases the default line spacing for fixed-width texts
in the About dialog (license text).
HTTPClientTCP expects proxy host to be empty or port to be -1 to ignore
the proxy. When getting the proxy config from the settings file, the
values will default to U"null" and 0, respectively, making HTTPClientTCP
to attempt to use the values as a proxy, which causes getaddrinfo to
fail looking up a "null" hostname.
Setting the default config values seems like a good approach to prevent
this issue.
Fixes#59037