Handle lack of .width and .height from getBoundingClientRect() in IE8

Closes #14093. Correction to #14090.
New relevant docs: https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect#Browser_compatibility
This takes the same approach as ZeroClipboard.
CC: @fat
i think something like `elRect = $.extend({}, elRect, { width: … height …}`  would look a bit cleaner