feat(draggable): maintain dragged elem size while dragging

Adds an option to maintain the dragged element's size while dragging,
using the keepSize value of Draggable options, or the drag-keep-size
attribute in the draggable directive.

This feature adds some additional infrastructure, such as querying
an element's offset width/height. Currently this forces hidden elements
to be visible momentarily if they are hidden, however this behaviour
may be simplified in the future.