(wip) build and compile step

After #34 discussion.

it has some TODOs riddled here and there, but those are mostly documentation.

I also took the liberty to rename `./vendor` to `./components` and `src/components` to `src/common`.  Lemme know if you don't like those and I'll sed it back.