It's funny; I was also thinking about a materials library manager app, a while ago. Check out
this post.
I'm thinking now, it could be a plug-in.
The jest of it is: Getting away from the "texture" concept; even from the "material" concept as currently understood, and going up one level of abstraction, to dealing with "This should be fur; we need velcro here; varnished wood there", etceteras. No dealing with materials as code at all.
The basis of it:
A simplified materials class using a common material/shader. Instances of this "material" (which I called "Real Materials" in that post) are defined by a set of textures and a parameter for each: Albedo. Plus, a common parameter to all textures in the set: Size (in millimeters, kilometers, or whatever).
A material could be defined by one or more of the following textures:
diffuse
specular
shininess
emissive
normal
height
+ "detail" versions of the above.
(By "detail" I mean a tileable texture that maps a number of times relative to the main texture, say 16 times horizontally and 16 times vertical, which helps hide pixelation artifacts when a texture is very close, and "adds detail"

. Just thought I'd mention it because we added this feature to the Vegastrike engine, and it doesn't take much code at all, nor does it require a second UV mapping. It only requires an extra texture unit in the GPU; and the visual benefits are enormous. But anyhow, even if few people would use it, the possibility should be there, I think, for defining a finer-grained texture for any material.)
The library manager should enable one to categorize, search by name, search by "used-on", sort by albedo, or shininess or average color. And ultimately it would be great to add username at the front of material names (invisible), so that people could share their material libraries with others, on the internet, while avoiding name conflicts.