Statements always parse and process the string now. No longer caching parsed version and just visiting nodes.
This is done because it is currently fast enough even for graphing and parsing is fast enough. This simplifies some of the code and makes usage slightly more obvious.

In the future if speed is needed, this shit should be jitted.
Replaced all instances of new Variable() with Variable.Error.
Errors can now display as a string instead of a generic NaN.