Fix for percentage based background-positioning

The background positioning was being calculated incorrectly. A percentage position should be based relatively to the element's size thus using element.clientWidth and element.clientHeight.