SnapSVG

HTML

<script src="http://tedbeer.net/lib/snap.svg-min.js"></script>
<div id="container" />

CSS

#container {
    border: 1px dotted red;
    width: 400px;
    height: 200px;
}

JavaScript

var paper = Snap(200, 100);
document.getElementById('container').appendChild(paper.node);
paper.rect(0,0,400, 200, 100, 100).attr({fill: '#F93'});

//does not work - rectangle must not be clipped
paper.attr({
    width: 400,
    height: 200
});
paper.rect(0,0,400, 200, 100, 100).attr({fill: '#9F3'});
paper.drag();