Core: Work around loss of precision from parseFloat

Fixes #15100
(cherry picked from commit b6e99eb43c35a3cd048c5c56d31c7e871f299a77)
Tests: Clean up isNumeric tests
(cherry picked from commit d05f4bda1cc0b1ef76dce41a53c17f75c105a377)
Support: clean up comments and Support notation

Closes gh-1577
CSS: Do not throw on frame elements in FF

IE9-10 throws on elements created in popups (see #14150), FF meanwhile throws
on frame elements through "defaultView.getComputedStyle" (see #15098)

Use "defaultView" if in the popup which would fix IE issue,
use "window.getComputedStyle" which would fix FF issue.

And everybody wins, except performance, but who cares right?

Fixes #15098
Closes gh-1583
Ajax: Always use script injection in globalEval

Fixes #14757
Closes gh-1449
Effects: Reintroduce use of requestAnimationFrame

Same as before, just use don't use prefixes, since they pretty match useless now
and use page visibility API to determine if animation should start.

Also null the requestAnimationFrame attribute in window for tests since
sinon does not provide fake method for it.

Fixes #15147
Effects: Improve raf logic

* Make animation behave as if jQuery.fx.off = true if document is hidden

* Use cancelAnimationFrame in jQuery.fx.stop

Closes gh-1578
Build: Move test to appropriate module
Build: Update commitplease dev dependency
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