Spelling out the iterator unstable_remove_if returned named libstdc++'s
own __gnu_cxx::__normal_iterator, which only libstdc++ has: the Android,
macOS and Windows builds (libc++, MSVC) failed on page_tracker.cpp. The
two handle-list sweeps are now plain index loops that swap a dropped
handle with the last kept one and cut the tail off, the same compaction
in the same order, with no iterator, lambda or library-specific type in
them.
tests/stdlib fails when a core source names a standard library's
internals, and syntax-checks every C++ unit of the CMake build against
libc++; the test workflow installs clang and libc++ for it.