isPointInside incorrectly caches the path used to calculate its value

isPointInside() caches  "this.realPath" var to calculate a return. This means if you modified a shapes attributes using the .attr() method (as opposed to using a transform) this meant the real path used would be wrong.

My change forces isPointInside to always re-calculate the realPath.

Looking through the code, it actually looks like realPath is only used as a local variable in a few methods - and not as a cached "global" variable. It might be worth removing it entirely - or alternatively create a fully featured global to cache the realPath correctly (ie update it every time the shapes' properties change).