Improve Kinetic.Transform class

The Kinetic.Transform objects, as returned by functions like Node.getTransform(), are a little unwieldy:

- they lack a method to transform a simple {x, y} point
- their methods are not chainable (do not return "this")
- there is no option to clone them which is necessary because Node.getTransform() returns a cached transform object which we do not want to modify in-place (e.g., invert)

Recently I've needed to transform from screen coords into node space coords, the other way around and some other stuff too. The Transform class would be perfect for that except that it lacks some basic convenience things listed above :-(

This pull request adds them.