I agree with most of what was said, but one thing: Gradients!
Wouldn’t it be better to use an SVG image along with the proposed ‘background-stretch’ property to create the gradients?
On that note, I like Paul Duncans ‘background-stretch’ implementation but it would be better to allow something more like this:
*None*
(the default) – no stretch
*Auto*
Stretches x and y to fill the area
*Length XY | Length XY*
A specific size.
*Percentage XY | Percentage X Percentage Y*
The percentage is relative to the width or height of the area given by ‘background-origin’.
Only the value none would ever have to apply to both X and Y, you should also be able to use ‘auto’ for either X or Y.