(WIP) refactor(tabs): Rework tabs to transclude to the headings

Refactored tabs to transclude themselves into the headings instead of the content. 

This fixes problems with ng-repeat causing tab headings to appear in the wrong order, since now the headings reflect the real elements, not the contents.

As a bonus, we also now only load the content of the visible tab into the DOM. 

I just need to add a lot more unit tests.