New instructions PEEK and POKE to call outside routines.

To use PEEK and POKE initialize uBASIC from your program with
ubasic_init_peek_poke(program, &peek, &poke) where "peek" is a
function peek(VARIABLE_TYPE addr) that returns VARIABLE_TYPE
and "poke" is a procedure void poke(VARIABLE_TYPE addr,
VARIABLE_TYPE value).

Use "PEEK addr, var" to set the value of the variable var to the
result of calling peek(addr). Use "POKE addr, value" to call
poke(addr, value);

The argument name "addr" is arbitrary; it doesn't mean you should
necessarily use it to pass your routines a memory address.