Multi-drag for slides. Undo for dragging slides.

Features added in this PR:
1. Added multi-select + multi-drag for slide snapshots.
2. Added undo/redo for slide moving.
3. When you undo/redo component operations, the relevant slide will be activated.

Code change highlights:
1. Updated jQuery to stable version (2.0.3) to avoid strange bugs with drag.
2. Replaces Sortable.js with jQuery UI + jquery.multidragable. Less code to maintain = profit.
3. Added a better way to create combined undo objects using record method of UndoHistory. This method accepts two parameters: callback and a name for the undo entry. Every undo item created during the callback execution will be combined into single command with a given name. It's much better than operating global undo flags (example: https://github.com/neochief/Strut/blob/cc876dcd02dd6dc8349753f02e6f2b20893ab517/app/bundles/app/strut.slide_components/view/ComponentView.js#L215)
4. Ton of minor JSDoc cleanups.

I've broken the changes into separate make-sense-commits. Hope you'll find it easy to review the changes this time.