Added ability to display any view inside a tab for both the content and the background.

Tab appearances are now much more flexible with the ability to display any View as the content and/or background for a tab:

- IconTabProvider has been replaced by TabCustomViewProvider, which allows you to place any view at all inside a tab.
- Added TabBackgroundProvider which allows each tab to set any View as a background for a tab.
- Indicator and divider drawing has been moved from onDraw() to dispatchDraw() in order to enforce drawing over subviews, rather than behind them.
- The current tab now has its selection state set, which again makes for more visual flexibility.
- Sample has been updated to demonstrate new functionality.

The changes made obviously offer a great deal of flexibility but the original motivation was to support custom ImageView subclasses that download images from the Internet (rather than using resources) as the background or content.