Nested Grouping (multiple column grouping) - Fully Working

I would like to contribute my code to Slickgrid, after working intensely on this project I finally made a fully working Nested Grouping (multiple column grouping).

Notes / things to consider:
- Almost everything had to be coded in recursive way.
- The working example had to be drop to 5k rows instead of 50k, because of performance issue at 3 levels of grouping, going deeper in the amount of grouping is a killer since everytime you're going with an extra level this is going exponentially and it's a killer to refresh all the data with multiple groups. Since even collapsing/expanding need a data refresh, 50k is just way too much rows.
- Collapsing a group had to be changed, the property of ".value()" is not more valid since that same value could exist (and does exist in the example), and so was replaced by a new property ".groupby()" this property holds the trace of group, that is the only way I found to properly collapse/expand a certain group at the proper group level. Example, inside the .html I had to replace this dataView.collapseGroup(0); with this dataView.collapseGroup("duration:0");
- Since this is a huge change, 3 separates files were created, in case some bugs were to be found and emerge. If found fully stable, no more problems found on my side, it might be nice to rename the files and merge them into your original files.

Hopefully my code will be implemented with yours, I spent a lot time on time.
Thanks
Ghislain B.