* renderer: add renderBorder function
* config: add CGradientValueData from Hyprland
* input-field: change outer to take gradients
Added gradient support to the following color options:
- `outer_color`
- `fail_color`
- `check_color`
- `capslock_color`
- `numlock_color`
- `bothlock_color``
* image: add gradient border
* shape: add gradient border
* shaders: adapt the new rounded smoothing factor from Hyprland
* config: introduce a custom value type for layout related options
* widgets: use CLayoutValueData for size and position options
* widgets: catch bad_any_cast and out_of_range when contructing widgets other than label
* config: rename and restrict CLayoutValueData::fromAny to fromAnyPv
This is only for casting `any` variables that represent a void * to a
CLayoutValueData*, not just any any.
* misc: remove debug prints
* misc: use Vector2D, Box and Mat3x3 from hyprutils
* nix: flake update
Fix CI fails. We need hyprutils>=0.2.3
* misc: use a function to convert Hyprlang::VEC2 to Vector2D
* misc: fixup some includes
* misc: use weakly_canonical for absolutePath
* misc: make absolutePath not optional
* misc: use currentDir as the argument to absolutePath
* config: avoid circular imports