Better memory management: don't allocate until necessary, Add Storyboard support.

Better memory management: don't allocate until necessary, Add Storyboard support.

Changed setting viewcontrollers to set via Class object without allocating and initializing the viewController until it is absolutely necessary. Can drastically help performance for initial load and memory management, as we're not required to hold on to many viewcontrollers at once.

* Added the ability to set viewControllers by using storyboards.
* Added example project for storyboards
* Added convenience methods `willSwitchToViewController:` and `didSwitchToViewController:` (These are incredibly useful when you need to set some context into the tabbed view controllers.)