de-instance, create unique materials per object

Looking for a way to select only objects that have a multi material.

There'a already a script that will then separate the mesh by material (it breaks when single material objects are included)

But after that. A script that would replace instances of materials in the scene with copies; either numbered (ie, wood_mat_01, wood_mat_02, etc for a wood_mat material) or include the name of the geo they're attached to (ie, chair_ wood_mat, floor_wood_mat, etc).