Added a runtime concept and factored allocation out to go through
an allocator object rather than directly to malloc/free, to enable
better testing etc.
Tweaked valgrind.
Added proper initialization of the (rudimentary) root set and
changed objects to store instance type in the species.
Renamed value_ptr_t to value_t. The _ptr didn't really add anything.