Revert "Revert "Cleaned up texture memory management: textures are now shared across OpenGL contexts, and gui_textures and gui_resources are handled globally rather than per-window""

This reverts commit 02ff574fd19a0df2164a40bfc8775ec2f35cb4ca.
Updated GUI texture