Add NavigationDrawer and USB + code cleanup

See commit messages for details