Add index property to items for stack position
Change loops that use --this.length to make code clearer/more portable
Bugfix: Selection.prototype.remove still needs indexOf() in order to splice()
Bugfix: change this.splice() for custom loop in Group.prototype.delete / remove
make item.index non-assignable and non-enumerable
rename Item to Shape
create Item object, plus set as prototype of Shape and Group