`EDSCALE` scaling was applied even though it shouldn't be, which led
to pixelated thumbnails due to double scaling. For reference,
AudioStream previews don't use `EDSCALE` and look fine at any editor
scale (the editor itself already scales the thumbnail requests).
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.
Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.
All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
This should allow users to edit points in a less constrained space,
which feels like a UX improvement.
That said, changing minimum size according to current size might be a
hack that causes issues in certain situations.
AnimationNodeBlendSpace2DEditor:
- `!tree` is always false, because it is checked a few lines above
CurveEdit:
- grabbing != GRAB_NONE is redundant
GradientTexture2DEdit:
- grabbed != HANDLE_FROM is redundant
- grabbed != HANDLE_TO is redundant
Viewport:
- index is not used afterwards
- In these cases `gui.mouse_focus` is always valid. Move check to a DEV_ASSERT
- simplify `stopped` calculation