chore: modified CanvasCurve example a bit to make a more aligned curve
chore: more InputEvent handling code added

transformation code cleaned up: transformation matrices are now stored
in InternalNiftyNode and updated when necessary

Nifty now collects all nodes that can receive inputevents (currently
all) in a list and processes them backwards which will mean that the top
most NiftyNode will get the event at first.

Additionally the renderOrder attribute is now used to sort the list of
possible inputReceivers too so that you can modify the order which
element receives the input events first using the renderOrder attribute
too. At the moment it does not make any sense yet since all NiftyNode
will get the event but in the future it might be useful when some Nodes
can block mouse events again.
feat: introducing NiftyEvents for NiftyNode (mouse events only)