Parse anonymous functions.

Now it's possible to parse anonymous routine inside body of other routine.
Currently anonymous procedure have normal nesting level. So it can't access local variables of outer function. There is no check for this.
Currently "reference to procedure" is represented as procvar. That is why there is no typecheck during assignment of "pure" procedure to "reference to" procedures.

Delhi-like implementation of closure will have same syntax but will allow to capture variables.
Show error in case of access to free variable.

Problem: variable capturing is not implemented and compiler doesn't warng about it.
Fix: Show error message. Parser performs check before creation of tloadnode.
Anonymous routine have normal nesting level and can have nested procedures.
So simple check of symtable nesting level is not enough to detect fact of capturing. Instead we walk through symtables using parent link. We start from current symtable and go until symtable with normal nesting level. If we didn't come to symtable of variable then this variable located in another function. And it's capturing.
Add modeswitch m_anonymous_proc.

Restrict usage of anonymous functions by new modeswitch. Currently disabled for all modes.
Add tests for anonymous functions.

Tests cover
+ basic usage of anonymous function
+ access of free variables *which is currently fail*(variables which are used in body but not parameters and not declared inside this function).
+ use of modeswitch
+ initialization of procvar in "var" section
+ test for ppu loading (anonymous function declared inside inline function)