[tstr sg] store copy of code tstr in scan context (later to be used internally in js_scan)
[tstr sg] use tstr_piece instead of tstr_init() so that eventually we could get rid of the actual char pointers
[tstr sg] now that code tstr is stored within js_scan, there is no need to keep an 'alloced' flag for js_scan
[tstr sg] introduce tstr_peek() for fetching a char at a specific point in the tstr
[tstr sg] convert most TPTR uses in js_scan to use other tstr API by maintaining offsets instead of pointers
[tstr sg] use tstr * instead of char * for internal buf bookkeeping
[tstr sg] move vfs_is_root_path to fs.c and use tstr_peek() instead of TPTR() access
[tstr sg] use tstr_peek() instead of TPTR in text rendering
[build] use `rm` instead of $(RM) in Makefile as the latter may not be defined
[tstr sg] use tstr_peek() instead of TPTR() in String.prototype.charCodeAt()
[tstr sg] use tstr_peek() instead of TPTR() in js_eval_rank()
[tstr js] use tstr_peek() instead of TPTR() in str_dump()
[tstr sg] introduce tstr_move() for moving tstr data around
[tstr sg] avoid tstr buffer direct access in cli BS implementation
[tstr sg] use tstr_peek() in tnum parsing instead of TPTR()