Moved stream code into files with more appropriate names.
Shorter macro names.

Don't exhibit stream stack in header file.
Minor cleanup.
Included linenoise for input line editing.
Read only the first expression of a line – fixed.
Cleanup.
Moved terminal code into own file.