Un-extracted the SolusEngine.Cleanup method.
Un-extracted the SolusEngine.GetDerivative method.
Made all SolusParser.Compile methods non-static. Added parser fields to a number of classes.
Made the Tokenise method non-static.
Converted the project to .NET version 4.
Moved PlotExpression, Plot3dExpression, and MathPaintExpression from the Solus project to the Ligra project.
Merge branch 'solus-custom-functions' into develop
Added a check for the current operating system. Made it remove the ToolStripContainer if Unix or MacOS.
Renamed ExFunction to ParseFunction, as it could be used outside the Ex system.
Update target framework version.
Remove the LigraSetup project from the solution proper. Add the Solus test project.
Decrease the re-draw frequency.
Add the grammar file to the project.
Add the giza project to the solution. Add a reference to it.
Change commands to use string args instead of tokens.
Replace SolusParseException's Ex member with a Location field.
Move ParseFunction out of SolusParser.
Convert all function classes to singletons.
Convert to utf8.
Change DerivativeOfVariable to be a subtype of Expression, rather than of Variable.