Put everything in a closure to stop global leakage
Make Node uppercase, make it private

* Uppercase first letter indicates it is a constructor.
* No need for outside world to know about it.
Use built in sort fn to sort open nodes
Get next node and remove it all in one go
Abstract test for two nodes being the same
Put current node on closed right away

* Easier to keep track of what is happening in the code
Abstract recreation of final path to fn
Abstract neighbor generation to method
Add node.colliding fn to do collision check
No need to check if neighbor is destination

* Will get checked if neighbor is pulled off open
Use node.colliding to check for occupied spaces
Reuse Node.same to check for identical nodes
Remove unused code
Add node.neighbors() to get neighbors of node

* Makes real node objs, not coordinate pairs
If neighbor is new, can just push it onto open
Add contains(): ret true if same(items, array member)
Remove unused startingPoint from Node
No need to store h on node
Relate node to parent via reference, not index
Make recreatePoth() a method on a node