Optimize performance by caching the Node hashCode.

 In extreme cases, hashCode calculation was taking up 20% of the CPU time. Because the nodes don't change very often (never in animation, for example) pre-calculating the hashCode is an easy win.
Merge branch 'master' of github.com:nodebox/nodebox