Avoid common CSS classes to be included in all widget CSS file (Fixes #264).
Remove DnD CSS files (Fixes #245).
focus.js: avoid spurious exception and remove some unused code.
fix popup.js issues, including fact that widgets no longer have methods like onChange
Rewrite HasDropDown code to use promises, and also to eliminate race conditions
between mouseup/keyup vs. when the popup completes loading.

This preserves the mousedown --> slide over menu --> mouseup code path for
quickly selecting a choice in a drop down menu, although it's debatable whether
or not we want to keep that code in the final release.
convert HasDropDown test to functional test and expand test