Add UiFrameReader, new project layout, small fixes

- Add a FrameReader polling for new frames and displaying them in a window
- Add target directory parameter to cli
- Fix frame id generation
- Create new CMake project layout