Restructured the project tree to align with Espressif's project tree pattern and practice. Also updated the affected cmake files. Fixes: #1033
Restructure the whole project tree so that the component can be unit tested. Also update some cmake files to update the modified paths, update test cases etc.