Try adding a width property in the constructor for the Text shape, in this case since the image has a width of 300 it would be the following:
label.add(new Kinetic.Text({
text: $("#newtext").val(),
fontFamily: 'Verdana',
width: 300,
fontSize: 18,
padding: 10,
fill: 'white'
}));
And a working example: http://jsfiddle.net/CLk3Y/1/