Fix drag and drop from asset drawer

Show asset as it's being dragged

Show the asset as it's being dragged from the unused asset list
(in the drawer) to one of the droppable containers.

The problem with the asset being hidden when dragged is
because the container element has the CSS style
``overflow:hidden``.  Previously, we had tried adjusting the
overflow style when an item was being dragged. Looking at
the jQuery UI API docs, it seems like a cleaner way to
handle this is to clone the element and display the clone
as it's being dragged and appending the clone to the body
element so it's no longer bound by the overflow property of
its container.

This fixes the issue with the asset not being visible and the
contents of the asset drawer disappearing.

Bind model events on drop

When an asset is dragged and dropped from the unused asset drawer
into a section asset container, the ``SectionAssetEditView`` instance
updates its ``model`` property to the dropped asset. It needs to rebind
the model events to the updated model.

When we didn't unbind the model events, the view was not rerendered when
an asset was removed after being added by dragging from the asset drawer.

Clean up display of URLs in asset drawer

Don't show URLs for images as it's easy to differentiate between the
different assets.

When the URL is shown, force the URL to wrap to the container width
instead of trailing off to the right-hand-side invisibly.

Completely hide the URL when dragging the asset.

Add padding to the default icons in the asset drawer so they don't overlap
the previous item

Addresses #746