This commit adds a `mipmaps` member to the `GPUTexture` struct and also
computes to the memory used by these mipmaps and the memory used for
textures that are created from an external bindcode.
So it solves the following inconsistencies:
- The memory value for mipmaps was not being computed.
- As `GPU_texture_from_bindcode` didn't call
`gpu_texture_memory_footprint_add`, it brought inconsistencies to the
value of the used memory, especially when the texture is freed.
Differential Revision: https://developer.blender.org/D3554