#### Brief overview of PR changes/additions
- `clearWindow()` no longer drops the last received line(s) from the log
file.
- Flushes text still pending for logging before `TBuffer::clear()`
deletes the display, so a line received before the clear is preserved.
- Also logs a line whose *own* trigger calls `clearWindow()`
mid-processing - previously its deferred `log()` call was suppressed
when the clear reset its commit index to -1.
- Adds a `ClearWindowLogTest` functional test covering all three cases
(previous-line rescue, own-trigger rescue, and the `deleteLine()` gag
still keeping gagged lines out).
#### Motivation for adding to Mudlet
Clearing the screen should never silently lose text from a player's log
file - clearing the display is not the same as gagging a line.
#### Other info
Follow-up to #9429. Does not touch `logRemainingOutput()`'s
duplicate-line handling.
**Test case:**
1. Enable logging on a profile.
2. Feed a line, call `clearWindow()`, then feed another line - both
appear in the log.
3. Add a trigger that calls `clearWindow()` on match, then feed a
matching line - that line still appears in the log.
4. Or just run `flock /tmp/mudlet-functional-tests.lock ctest
--output-on-failure -R ClearWindowLog` (all 3 scenarios pass).
Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-opus-4-8