Various Kickassery

See README for details: Global extensions, route-level extensions, route.init(), route.load(), route.unload(), route.subscribe(), route.setInterval(). Added optional support for associating a template with a route. Added support for defining a function on the router level responsible for loading defined templates.