Build with cargo

- move all source files to src/
- ignore target/ and Cargo.lock