Fore future use new initialization and new recursion check are presented.

Recursion check is added because of functions which want to allocate them self memory and they are not part of our library. These functions don't know they should use libc<memory function> pointers.

How recursion check works:
Each thread have it's own variable which indicate if controlled functions are already called by this thread.
There are two function which operate with thread local variable and this functions must be used!
One function check if recursion occur and acquire "lock".
Second function release "lock".
Recursion is checked against whole interface!!! If one thread enter malloc and call free from itself then the free will be recursion call!!

Previous initialization was really complex so the new one is more easy to understand and more generic.
Les complexity is caused by recursion check.
One init state was removed. State which was responsible for checking recursion in malloc and calloc. So this role is taken by recursion checker now.