Added `routing` and `reverse()`

This is still WIP, so it may not work just yet.
New template engine
Added template module to main
Refreshed docs