gh-35735: gap: use CALL_WITH_STREAM to redirect output to string
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes #12345", use "Add a new method to
multiply two integers" -->
### :books: Description
This avoids use of deeply internal GAP APIs which may change at any
time. In particular `TypOutputFile` is likely to change again and again.
In contrast, `CALL_WITH_STREAM` is on a much higher level (and even
reachable from the GAP language itself). We have no plans to change it.
Together with PR #35702 this resolves #35361.
### :memo: Checklist
<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->
- [ ] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
URL: https://github.com/sagemath/sage/pull/35735
Reported by: Max Horn
Reviewer(s): Frédéric Chapoton