Select: Normalize capitalization of the word "ID" in variables. Now "Id" is used everywhere.
Custom select: Stop referring so much to this.options in build(), using o = this.options instead.
Custom select: Removing some references to "self" in build().
Custom select: Moving binding that transfers focus from the native widget to the button into the widget prototype and calling it _handleSelectFocus().
Custom select: Moving binding that opens the select into the widget prototype and calling it _handleButtonVclickKeydown().
Custom select: Moving item-to-item focus transfer binding into the widget prototype and calling it _handleListFocus().
Custom select: Instead of determining the option that was clicked via a selector, use the "data-option-index" attribute that was set during list creation.

This attribute was being set but it was not being used.
Custom select: Moving binding that causes the dialog page to be destroyed into the widget prototype and calling it _handleMenuPageHide().
Custom select: Call the close() method upon "popupafterclose" by binding it via this._on().
Custom select: Moving binding that closes popup when the user clicks onto the header's close button into the widget prototype and calling it _handleHeaderCloseClick().
Custom select: Adding the menu page to the list of dependents has no effect, removing.
Custom select: Moving focusMenuItem() into the widget prototype and calling it _focusMenuItem().
Merge pull request #6108 from jquery/flatten-custom-select

Flatten custom select