Non-visible views and OnScreenSwitchListener

When `horizontalpager` had a child view that had visibility set to `View.GONE` it would correctly not call `onLayout` for it, but would incorrectly still take it into account in other calculations. This behavior would cause an empty black screen to appear at the end. My patch fixes this by not counting children with `View.GONE` set.

My patch also adds `onScreenSelected` to `OnScreenSwitchListener` to notify user about a new screen but before the animation.