Decompose helper methods to compute NodePath properties.
Compute NodePath properties lazily to reduce initialization time.

The biggest remaining source of inefficiency is .call-ing the Path
super-constructor, rather than just inlining the property assignments, but
I don't know a clean way of fixing that.