Type Checker : will take an untyped Expr and turn it into a typed TExpr, resolving identifiers and ensuring type safety.
new()
inits:Array<{v:TVar, e:TExpr}>
check(name:String, shader:Expr):ShaderData
dynamicloadShader(path:String):Expr
dynamicwarning(msg:String, pos:Position):Void