add destructor to StrPool
add Port::m_owner and related functions; add Port::check
add class NoodleBase; implement Noodle ctor
rename some things, move some things, add Block::check
invent noodle-adding idiom for graphs; add check; add state
restore Scheduler ctor and subclass ctors
main: rewrite everything for updated class structure & idioms