create phantom task for GC threads (#53815)
A common idiom used throughout the codebase is to get a pointer to
thread-local-state through `jl_current_task->ptls`.
Create a phantom task for GC threads so that we can make use of this
idiom when running in the GC threads as well.
Idea originally suggested by @vchuravy, bugs are mine.