Tab

Much of the tab page code was based on the navigator page code.

The cache system does work for pages contained in the tab page. Is this something worth implementing? If so, how should I go about doing it?

fixes #59 
I'd move the cast and button creation down into the if statement below. The cast isn't safe as we haven't checked the object yet (you can cast anything to anything, but it will crash runtime if you get it wrong). I'd cast it to an id<LGRViewControllerDelegate> as we are only interested in the protocol methods at that point.