Agnostic markup for tab title and content

Currently tabs rely on <h3> and <div> for tab and content respectively. Since <h3> is a semantic element it probably shouldn't be used to mark up the tab. <div> is fine for content.

It would be better to make calculation of tab and tab content agnostic of HTML elements used so that only two siblings (any elements) are necessary. 

I used :first-child and :last-child selectors so that now any two consecutive elements become tab and tab content. This allows for richer markup of actual tabs.