Find out how to do error checking here. Don't want to change the typedef to void* rather than void. As the cast is easier to have mistakes then. Potentially do a out_errc?
Global ym_gfx_gl_create_texture (const char *file_path, GLenum texture_slot, GLuint *out_texture)
Use ym_mem rather than malloc and free. Can also probably just use a stack allocator, and think of which way I free.
Global ym_gfx_load_png (const char *filename, u8 **out_image, int *out_width, int *out_height)
Move over to using the lodepng function that takes in memory