WIP: Tabs Refactor

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 the headings reflect the real elements and 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.