update .gitignore
add memoization to core topology
update macros (memoizer)
world/topology interaction
refer get-patch-at from world
js error reporting util