Moved public Template dispatch into its own controller

The dispatching of *public* URL templates (i.e. for public site pages)
is now handled in its own dispatch controller which is now called from
the root module, which used to handle this functionality internally.
Additionally, this dispatch controller is now mounted at the root
namespace ('') if the root module controller is not. This allows the
template dispatch functionality to continue to work when the root module
has been configured to live at a different path other than the root
(with the new 'module_root_namespace' config option)

This functionality is still an intermediate design and will change later
on once more comprehensive dispatch/module refactoring is done