Convert _DateTimeTextBox to extend _HasDropDown, so it gets an icon (down arrow button) to open the drop down.  The icon's display is controlled by a hasDownArrow parameter, same as !ComboBox.
Convert _DateTimeTextBox to extend _HasDropDown, so it gets an icon (down arrow button) to open the drop down.  The icon's display is controlled by a hasDownArrow parameter, same as !ComboBox.

Tabbing into the widget no longer causes the drop down to (automatically) open.   Clicking the field causes the drop to open, although that behavior can be disabled by setting the new "openOnClick" parameter to false.   Of course, clicking the down arrow button (if it's displayed) will always open the drop down.

Changed _HasDropDown to not expect the drop down widget (this.dropDown) to exist initially, prior to the user clicking the down arrow, as !DateTextBox creates it on demand.   Also fixed the connections for the key handlers, which should clearly be on this.focusNode rather than this._buttonNode

Had to modify _TimePicker some because the handleKey() callback from _HasDropDown is being called on keyup rather than keypress like before, so evt.charOrCode isn't set.   Maybe _HasDropDown should be monitoring keypress rather than keyup.

Made a new DropDownBox.html template used for !DateTextBox/!TimeTextBox, and expected to be used for !ComboBox/!FilteringSelect once I get those converted to extend _HasDropDown.

Open issues include:
	- confirm aria roles are correct
	- mouseover of the fields in the _TimePicker no longer makes them expand in width
	- !TimeTextBox needs more tests

Fixes #5151, refs #9945 !strict.


git-svn-id: 674a2d6b1e32e53f607eb824547723f32280967e@22555 560b804f-0ae3-0310-86f3-f6aa0a117693

harbalk/delite,kitsonk/delite,kitsonk/delite,harbalk/delite,Sam-Cummins/delite,Sam-Cummins/delite