Overhead with childIndices

I've noticed a small overhead issue when removing many nodes subsequently. Either manually in the application logic, or with Kinetic.Container.removeChildren().

I improved Kinetic.Container.prototype._setChildIndices() by accepting an optional startIndex argument and made smart use of this throughout its usage.

Additionally I reversed the iteration logic in removeChildren / destroyChildren. When starting at the beginning, all child indices are being updated on each iteration, which is unneeded as they'll all be removed in the end. By starting at the end (in combination with the new startIndex argument) this overhead is fixed.