Results 24 issues of Kirill Golikov

Added class `CMemoryEngine`. It incapsulates all of memory-pools work for any MathEngine derived class.

There were 2 mostly identic files: * [NeoMathEngine/src/MathEngineDeviceStackAllocator.cpp](https://github.com/neoml-lib/neoml/pull/1064/files#diff-d96f854b2096e206eacbbb85386482a7f5bdc01bc416ae9f4e846fdb7b0c38d9) * [NeoMathEngine/src/MathEngineHostStackAllocator.cpp](https://github.com/neoml-lib/neoml/pull/1064/files#diff-8356f1dd5cf320ff2a2716a2a8be1e7ef4f6ef85f40c0a326fb63fe1c68818d6) There were excess calls of `new`/`delete` operators.

Please, before it merge 1. https://github.com/neoml-lib/neoml/pull/1045 2. https://github.com/neoml-lib/neoml/pull/1047 3. https://github.com/neoml-lib/neoml/pull/1007 4. https://github.com/neoml-lib/neoml/pull/1066 5. https://github.com/neoml-lib/neoml/pull/1064