Group similar records with JS

Resolves #516 

@lukecarbis My intention here was to try to accomplish grouping records without over-engineering things. I decided to just see how far I could get with the core concept with the least amount of code possible.

I realize if there are many groups on a page then the total records per page is thrown off, however I think it's not a deal breaker if we are able to keep things simple like this.

There is _plenty_ of room for improvement here, so please rip it apart. Thanks :smiley: