Update grouped-categories.js

Updated deepClone function prevent infinite loop when final "category" property is an object.

Previously this function would only complete successfully if the final "category" property was an array of strings.
ie.
xAxis: {
   categories: [{
       name: "1 & 2 Broadgate",
       categories: ['Sub Category 1', 'Sub Category 2']
   }...

This change allow it also to accept objects within final category layer:
xAxis: {
   categories: [{
       name: "Category 1",
       categories: [{ name: "Sub Category 1" }, { name: "Sub Category 2" }]
   }...
Different options for each level. Closes #26.

Now each level has own subset of styles, like rotation or font styles.
Use group visibility, not label itself [t:27]