TEMP: add more host<->device features, clean up

Use IO abstraction in main when reading graph
Add commands for communicating back to host
Use this instead of hacky ASCII serial messages for debugging
Allow debugging to be enabled/disabled at runtime