Init the repo.
Add initial structure.
Add the highest level interfaces + a simple sample.
Update ignored files.