Twenty Fifteen: avoid errors by preventing Twenty Fifteen from being activated in old versions of WordPress

Props iamtakashi, fixes #30137.


Built from https://develop.svn.wordpress.org/trunk@30099


git-svn-id: http://core.svn.wordpress.org/trunk@30099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Improve body class for page templates.

* Convert slash to dash too.
* Add sub-folder name as a separate body class.
* New classes are additional classes, old syntax will persists for BC.

With this `/page-templates/full-width.php` will produce `page-template`, `page-template-page-templates`, `page-template-full-width` and `page-template-page-templatesfull-width-php`.

props obenland, Caspie, donutz.
fixes #23470.
Built from https://develop.svn.wordpress.org/trunk@30100


git-svn-id: http://core.svn.wordpress.org/trunk@30100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix weird HiDPI screen rendering issue with theme install preview toolbar

fixes #28898
props ocean90
Built from https://develop.svn.wordpress.org/trunk@30101


git-svn-id: http://core.svn.wordpress.org/trunk@30101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Improve/introduce Customizer JavaScript models for Controls, Sections, and Panels.

* Introduce models for panels and sections.
* Introduce API to expand and focus a control, section or panel.
* Allow deep-linking to panels, sections, and controls inside of the Customizer.
* Clean up `accordion.js`, removing all Customizer-specific logic.
* Add initial unit tests for `wp.customize.Class` in `customize-base.js`.

https://make.wordpress.org/core/2014/10/27/toward-a-complete-javascript-api-for-the-customizer/ provides an overview of how to use the JavaScript API.

props westonruter, celloexpressions, ryankienstra.
see #28032, #28579, #28580, #28650, #28709, #29758.
fixes #29529.


Built from https://develop.svn.wordpress.org/trunk@30102


git-svn-id: http://core.svn.wordpress.org/trunk@30102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Twenty Fifteen: back compat checks in Twenty Fifteen are breaking the customizer, leaving them in for now, but commented out.

See #30137.

Built from https://develop.svn.wordpress.org/trunk@30103


git-svn-id: http://core.svn.wordpress.org/trunk@30103 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Customizer: Fix missing newly added widgets in the preview after [29905].

props westonruter.
fixes #29983.
Built from https://develop.svn.wordpress.org/trunk@30104


git-svn-id: http://core.svn.wordpress.org/trunk@30104 1a063a9b-81f0-0310-95a4-ce76da25c4cd