Remove `Router` singleton in favor of a facade.
Singletons make it difficult to test / extend code, facades remove these concerns while still providing a global instance that can be replaced.
Merge pull request #100 from KorvinSzanto/router_facade

Remove `Router` singleton in favor of a facade.