Ensure screen stays on during say all (#17651)
Fixes #17649
Partially reverts #11118
Follow up of #10111, #10643,
Summary of the issue:
On some systems (mine, for example 😉) the screen still locks during a say all even though we reset the system idle timer. We also reset the display timer in the past, but this was reverted in #11118, particularly on request of @btman16
Description of user facing changes
Added a new advanced setting that, when enabled, also resets the display timer.
Description of development approach
Added new helper/wrapper methods to systemUtils
Rather than resetting the timer(s) many times during a say all, we now persist the state during say all using the ES_CONTINUOUS flag. This should avoid an edge case where reading a line takes more then a minute and the sleep timer is a minute, in which case the system will still lock.