Build: Upgrade to grunt-bowercopy 1.0.0
Build: Remove unused Sizzle test files
Build: Move all external libraries to external directory

Closes gh-1593
Build: ignore test dependencies for npm install
Build: update Sizzle to 1.11.1 and include license
Build: update grunt-bowercopy
Build: Update license

Closes gh-1587
Selector: Remove "#" exception for identifier tokens

Port Sizzle test change from:
https://github.com/jquery/sizzle/commit/f204a6112216f31685717d9fc1bf6cabf42b2ef1
Build: update Sizzle to 2.0.0
Core: Consistently use local reference to access()

Ref 3b53b75160606610cc8f87404f89fc9e10441c4b
Closes gh-1605
Readme: Fix punctuation in tile

Closes gh-1607
Ajax: Remove workaround for IE6/7

Closes gh-1597
Ref #8138
Build: drop bower; use npm for front-end deps

Fixes #15186
Closes gh-1620
Build: update front-end dependencies
Build: update node dependencies barring jscs
Build: update grunt-jscs-checker and pass with the new rules
Build: update source map options for the new grunt jshint
CSS: elements are hidden when either offsetWidth or offsetHeight is zero

- Note: this is a breaking change that has been delayed for several versions.

Fixes #10406
Fixes #13132
Css: Fix the "sanity check" test

The #dl element has 0 height so it's now considered hidden regardless
of its width.