Factored out test runner logic to tools module for reuse
Added scenario to test variable references in if (...) {...} / else {...} blocks

- Added basic WithStatementTranspiler to allow testing variable access with accessor properties in scope