Use idiomatic Cargo layout

Closes #1