A few fixes to BaseRouter

Fixed name when exporting globals to non-AMD browser, added pre-routing hooks,
and and `#back()` method
Do not call super's initialize method in mixin

This is generally bad design, so we fixed it at least for Router classes. This
should be fixed for all classes, though.
Implemented DeviceRouter
Added DeviceRouter to main module and updated docs