More efficient image and text handling

- Uses `Data_Wrap_Struct` for storing C pointers to SDL data