Fix #11464 - JS noConflict() mode not working in 3.0.x

Refactor tests to run everything in noConflict mode.  This is a philosophy change, from "We're testing a jQuery plugin" to "We're testing a library that depends on jQuery". Then, almost as an afterthought, there is an additional test to make sure the library correctly gets attached as a jQuery plugin.

Refactor all plugins to use an internal `Plugin` reference to the plugin function.  The plugins can't expect to be attached to the jQuery object when in noConflict mode.