Complete the full row highlight implementation
The !278 (merged) introduces a new selection mode along with the logic that makes it optional without introducing the configuration option to turn it on or off.
This patch introduces that option, along with some potential undefined behaviour fixes (uninitialized member variables).