Extract the EGLImage cache from gstglupload.c, place it in a separate source file gsteglimagecache.c, and make the API public, so it can be reused by the gldownload element. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6792>