Adding system pools static variables.
Refactoring Node construction and edge representations.

Now nodes are created from a global game pool and connections are
represented as a pair of handles stored in another pool.