Changed syntax def of PRINT AT to allow expressions for row and column, for issue #56

This exposed the fact that ScreenBuffer.MoveCursor() wasn't protecting
itself against negative row numbers like it does for negative column
numbers.  So I added a line there to handle that case.  (The problem
was hidden before because the parser for PRINT AT used to lexically
prevent minus signs in the value in the first place.)

Also tested with non-numeric expressions to make sure they get
trapped correctly and give error messages if they can't be interpreted
as integers.  (strings, vectors, manuever nodes, etc.)  That seems to
work.