Overlay behaviour when body is scrollable

Loading indicators associated to an element are supposed to be cover and be cenetered only in the visible portion of the element.
This worked correctly apart from the case in which the body of the document has scrollbars. In that case, the overlay was not constrained to the viewport.

This commit fixes the issue by always constraining the overley in the viewport.

Furthermore, two other issues have been tackled by this commit:

* loading indicators were not being refreshed on window resize
* The message displayed underneath the spinner could end up outside the element, or was simply mispositioned in early versions of IE.