tests: add register dump, printing
feat: add support for official tests
feat: pass program to execute by parameter
refactor: change program mem to file prog mem
feat: add program memory