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
update docs
added convenience methods: willSwitch and didSwitch
add selector to programmatically select tab at index