This moves from `GHash` to the type-safe and better-performing `Map`. It uses the construct on first use idiom to simplify creation and freeing of the map, removing the need to register an at-exit callback. The change was initially motivated by seeing the hash lookups in a profile of drawing a large node tree. Though my testing wasn't exactly scientific, I did observe a few percent performance improvement with this change. Pull Request: https://projects.blender.org/blender/blender/pulls/129954