File contexts

Because #includes can occur in the middle of input files, the lexer needs 
to push file contexts to a stack. File input buffer, macro expansion buffer 
and the token queue form a so-called "context". It is file specific and 
thus it must be pushed onto a stack, so that the lexer can return to the 
parent (after parsing an #include), without losing any tokens or macro 
text.  Note that macros can contain #includes too. 

fb.bas:fbIncludeFile() basically just consists of:
   lexPush()
   cProgram()
   lexPop()

