public enum MenuScrollingMode {
    case ScrollEnabled
    case ScrollEnabledAndBouces
    case PagingEnabled
}
public enum MenuItemWidthMode {
    case Flexible
    case Fixed(width: CGFloat)
}
public enum MenuDisplayMode {
    case Standard(widthMode: MenuItemWidthMode, centerItem: Bool, scrollingMode: MenuScrollingMode)
    case SegmentedControl
    case Infinite(widthMode: MenuItemWidthMode)
}
public var menuDisplayMode = MenuDisplayMode.Standard(widthMode: PagingMenuOptions.MenuItemWidthMode.Fixed(width: 44), centerItem: false, scrollingMode: PagingMenuOptions.MenuScrollingMode.PagingEnabled)
func labelWidth(size size: CGSize, widthMode: PagingMenuOptions.MenuItemWidthMode) -> CGFloat {
    switch widthMode {
    case .Flexible: return ceil(size.width)
    case let .Fixed(width): return width
    }
}