add tostring() primitive

- formats numbers, strings, bools, as expected
- on objects, calls tostring() method if it exists, otherwise prints out object literal