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.