Move the bottom-sheet body (profile, friend detail, and the friends list with
its toolbar) into a SheetContent composable that reads and mutates
MapScreenState. The profile sheet's server-location toggle, upload, and
auto-share handling now call the holder's uploadNow/toggleServerLocation/
setAutoShareGranted/disableAutoShare; UI-only actions (opening dialogs,
navigating, requesting the background-location permission) are passed down as
callbacks from MainScreen.
The auto-share revoke-on-missing-permission check moves ahead of the holder
construction so it seeds from the corrected preference. MainScreen now renders
SheetContent inside the bottom sheet and keeps only the dialogs, permission
launcher, and navigation state.