Add `unread-char` function
Add API to return multiple values from C function #86
Make `defmacro` to capture free variables
Remove unnecessary statement
Rename `putback` to `ungetc` and accept `int`