API cleanup: Materials w/o name and w/o pimpl
Hold IMaterial in unique_ptr, instead of pimpl (Material -> BaseMaterialImpl)
Core classes should not hold name. On the other hand, material name makes sense in GUI.