This is the first step in moving the various D3DXCreateTextureFromFileInMemory functions over to using shared code.
-- v2: d3dx9: Add support for specifying which mip level to get pixel data from to d3dx_image_get_pixels(). d3dx9: Cleanup texture value argument handling in D3DXCreateTextureFromFileInMemoryEx(). d3dx9: Add support for specifying a starting mip level when initializing a d3dx_image structure. d3dx9: Use struct volume inside of struct d3dx_image for storing dimensions. d3dx9: Use d3dx_image structure inside of D3DXCreateTextureFromFileInMemoryEx(). d3dx9: Refactor texture creation and cleanup in D3DXCreateTextureFromFileInMemoryEx(). d3dx9/tests: Add more tests for loading files with multiple mip levels into textures. d3dx9/tests: Add tests for the source info argument of D3DXCreateTextureFromFileInMemoryEx().