rewrote tab page indicator to accept a custom view provider for tab layouts