Object.seal PathVisitor Context objects to prevent unreliable extensions.

Adding new properties to `this` during visitor methods is unreliable
because the same `Context` object is not shared by all visitor methods,
and moreover `Context` objects get recycled after use, so any properties
added to them could be unexpectedly present during different visitor
method invocations.

If you need to share state between visitor methods, add a property to the
visitor itself, such as `visitor.state = {}`, and access `this.state`
within your visitor methods.