Changed how factories are linked. Statement, Expression and Type factories no longer extend each other but are linked together using a new interface: IFactory.

Eval now has its own factory implementation, using the IExprFactory interface only.
Eval expression objects are now parameters for Form expressions instead of Form extends Eval. Allows you to switch out evals.
Removed some old comments. Placed some TODOs for if I figure out a way to solve that problem some day.
Made the Form UI elements of questions and labels trim the leading and trailing double quote ( " ). The form no longer shows labels as ["myLabel"] but as [myLabel].

Known Issue:
- Using the 'VarDecl' function of the EvalFactory currently has to fall back to null for value as it has no type awareness and thus can't assign a default value for the type.