Custom HorizontalScrollView implementation to provide snapping and selection features to the Android's default HorizontalScrollView.