Really easy implementation considering opcodes are super simple. I
was right to implement the loop_ref system so at parse time we have
resolved references and don't need to do it at runtime (helps with
compilation I guess as well).
Apparently you can't just `fseek` because it's "not portable" and
"deeply offensive" or whatever, so here's a really dirty chunk based
allocator which uses `fread` to just read chunks of data at a time and
basically runs around this issue.
While it's slower than an fseek solution for general files, this
solution allows pipes and other _weird_ things that count as "files"
to just werk.
Using a buffer structure allows me to pass more information to
callers and a bit more discretion over how data is passed.
Better error reporting via having a file handle and reporting it
Emacs/GCC style.