Restructured the repo to put engine code in submodule