std: Replace use of stage1 function pointers
Many parts of std still use stage1-style function pointers. This PR removes all instances of this, replacing them with the use of std.meta.FnPtr. Additionally, manually-written if statements have been replaced with FnPtr for clarity, conciseness, and to be guarantee detection and removal when stage1 support is removed from std.
I'll give this another check over before it's ready to merge.
related: https://github.com/ziglang/zig/pull/12813
This should be ready to merge, I'll just rebase to get the checks to run correctly.
Looks like I missed a few function pointers for Windows, will fix them.
Tests passing, ready to be merged.
Found a couple of mistakes in this PR, and also a merge conflict, will get those fixed. Please merge soon!
@andrewrk Can this be merged before it goes stale again?