26902 Initial code review

Created a branch from the very first commit to be able to review the whole code written so far.
This does not mean that a merge should be done after the review is done, this is a "dummy" pull request.
Same question as above : why using environment variables instead of adding a custom property to the context ?
Any side effect if start_engine fails and the TK_FLAME_ENGINE_MODE value is not unset ?
Should TOOLKIT be used as prefix instead of TK ?