(Re-)added possibility to assign node attributes.
Isolated GraphLayout from Graph. Added more layouts. Layout triggers automatically (preliminary). Refactored some O(n) lookups to O(1).