Added ability to add a custom router.

Add custom router: e.g. $router->setCustomRouter(new MyRouter);