Make identifier grammar element, separate from varName.
Add grammar and stub for import statement.
Separate grammar.py from ycad.py
Add Context.execProgram()
Support scope hierarchy in Context class.
Return resulting scope from Context.execProgram().
Fix variable name error in Context.getVar()
Use Context.execProgram() to implement ImportStmt.
Move creation of default combination into Context.execProgram(),
so that any imported module can have one.
Avoid calling endCombination() in finally blocks, to avoid what looks
like the Cython module clearing the current exception.
Add Module class.
Wrap imported modules in Module objects, so they can be accessed by attribute.
Manage scope chains instead of scopes, important for function closures.
Make functions be closures.