feat(routing): new DSL and deferred module loading

Introduced new routing DSL that allows adding new modules for views.
Modules can be loaded synchronously or asynchronously, for example in case of deferred library loading.