Create ItemRangeOverflow item type

Overflow simply extends ItemRange with a new getWidth() function that
determines if the content of the range is wider than the range box
itself.

This did require adding a getWidth() function to the Item object that
always just returns this.width, and adjusting Stack.js to use the new
getWidth() function instead of item.width

This properly fixes and closes #1