Unifying media controls and supporting playlists in the editor:

* Support a `caption` attribute for audio and video shortcodes
* In `wp.media.audio|video`, rename `update` to `shortcode` to allow these models to share the same mixins as `wp.media.collection` subclasses
* When sending an audio or video shortcode to the editor, create a default caption if the user hasn't entered one. This currently only displays in the editor, not on the front end. Captions aren't tied to a specific attachment here because external sources are supported.
* In the `wp.mce.media` mixin, in the `edit` method, read `attr` instead of `data` when attempting to parse the encoded shortcode. `data` does not automatically update when the attribute changes. This was a blessing to debug.
* Add `wp.mce.media.PlaylistView` to support playlist views in TinyMCE
* Expose `WPPlaylistView` to global scope and suppress auto-parsing of playlist nodes when in the admin. Allow `WPPlaylistView` to be passed `metadata` on creation instead of requiring a JSON blob to be parsed.
* Remove all of the playlist logic from the `wpgallery` TinyMCE plugin.
* In `wp_prepare_attachment_for_js()` return more data for audio/video so that playlists can have parity in the admin/front end.

See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27640 602fd350-edb4-49c9-b593-d223f7449a82
Twenty Fourteen: improved gallery styles in visual editor, props celloexpressions. Fixes #27462.

git-svn-id: https://develop.svn.wordpress.org/trunk@27641 602fd350-edb4-49c9-b593-d223f7449a82
Add JSDoc blocks to `media-audiovideo.js`.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27642 602fd350-edb4-49c9-b593-d223f7449a82
Fixes for `jshint`


git-svn-id: https://develop.svn.wordpress.org/trunk@27643 602fd350-edb4-49c9-b593-d223f7449a82
Editing image file: properly refresh the view after restoring the original image or rescaling the image. Props gcorne, see #21811

git-svn-id: https://develop.svn.wordpress.org/trunk@27644 602fd350-edb4-49c9-b593-d223f7449a82
Merge two strings. see #27320, #27453.


git-svn-id: https://develop.svn.wordpress.org/trunk@27645 602fd350-edb4-49c9-b593-d223f7449a82
Add context to 'Browse' (themes). see #27055, #27453.


git-svn-id: https://develop.svn.wordpress.org/trunk@27646 602fd350-edb4-49c9-b593-d223f7449a82
Fix a copy/paste error in WP_Date_Query parameter description.

props jdgrimes.
fixes #27472.

git-svn-id: https://develop.svn.wordpress.org/trunk@27648 602fd350-edb4-49c9-b593-d223f7449a82
Themes: Improve RegExp pattern for search.

* The replacement of spaces is now done globally.
* The search term is now escaped for RegExp meta characters.

props westonruter for the hint.
fixes #27479.

git-svn-id: https://develop.svn.wordpress.org/trunk@27649 602fd350-edb4-49c9-b593-d223f7449a82
Widget Customizer: Improve widget search.

* Removes jQuery.liveFilter dependency
* Filters widget collection directly
* Widget's name, ID and description will be searched

fixes #27451.

git-svn-id: https://develop.svn.wordpress.org/trunk@27650 602fd350-edb4-49c9-b593-d223f7449a82
Customizer: Use the `_.now()` function from Undescore.js for the current timestamp. `Date.now()` isn't supported in IE8.

fixes #27477.

git-svn-id: https://develop.svn.wordpress.org/trunk@27651 602fd350-edb4-49c9-b593-d223f7449a82
27491: Widget Customizer: Re-work how and when widget forms get updated

Replace ad hoc hooks system with jQuery events

Add widget-form-update event for widget form updates in both
customizer and widgets admin page (fixes #19675)

Enter into a non-live form update mode, where the Apply button is
restored when a sanitized form does not have the same fields as
currently in the form, and so the fields cannot be easily updated to
their sanitized values without doing a complete form replacement.
Merge commit '686896998de9ed5026b2ddbcd5ee5b7c43885205' into widget-customizer-patches

Conflicts:
	src/wp-admin/js/customize-widgets.js
Merge branch 'trac-27491' into widget-customizer-patches