Log messages when starting / ending freeze (#14309)
Summary:
When NVDA freezes its behavior changes, this can break assumptions, and make inferring its behavior difficult.
The logs did not clearly indicate the start / end / level of a freeze.
Development approach:
Refactor code to extract responsibilities to make loop conditions easier to reason about.
Add logging for different levels of freeze, start and end.