This addresses a few problems with reaction colors:
- The state-checking conditionals for reaction text, background, and border
were inconsistent, making it difficult to choose colors for each state
(normal, hovered, and self reactions) that worked well in all themes.
- The QPalette::Highlight color was being misused as a text/foreground color.
This color role is intended for background areas. It has little contrast
against the background in themes like KDE Plasma's Breeze High Contrast,
so using it for text and icons makes those things difficult to read.
https://doc.qt.io/qt-5/qpalette.html#ColorRole-enum
- The reaction border was drawn in the same color as normal text, making it
so bright in some dark themes that it distracted from reading nearby text.
FixesNheko-Reborn/nheko#1159
Limiting improves readability on wide monitors.
The immediate update of the settings is done by just exposing settings
as properties and then setting the settings as a context property.