Allowing any level of nesting of widget namespace

I've not tested this, but I didn't like that you could only have namespacing in widget names up to four levels deep, so have written a proposed change to cleanUpInstanceName to allow any number of layers