Preview or router composition

I have made some changes that I think might be interesting for allowing Router composition.
The distinction between Router & RouterImpl is a slight shame because it kind of ruins the niceness of thinking that every Router is a self-type (almost like a link list of Routers).

Anyways I was able to get something in without too much jitter of the code and I added some test examples.

Please take a look and let me know.