Introducing a View layer

Extracting the views into their own layer (e.g. with ERB), might be nice to integrate custom layouts, and improve on the the client-side interaction part too.

The presented approach still depends on the HTML generator, and it takes some work to use ERB everywhere. On the ohter hand, the generator looks like making a nice Gem, that could be included in the project (maybe Hg would be a nice name)

This PR is not yet fully finished, but maybe it is already good for some discussion.

Thanks!