Only redraw when something actually changed. The 50ms render
interval still ticks (for process count updates) but no longer
triggers draws. Dirty is set by key events, mouse events,
resize, UI messages, turn completions, and DMN ticks.
Saves bandwidth over SSH and reduces CPU usage when idle.
Co-Developed-By: Kent Overstreet <kent.overstreet@linux.dev>