Sidepanel updates

Extracts a sidepanel service - this functionality was formerly hidden in the `sidepanelFolder` directive.

Streamlines the code quite a bit and also makes it easier to access sidepanel functionality from elsewhere, such as in the `sidepanel` directive, which adds a keybinding (defaults to 's`) to toggle the sidepanel.

#196 still persists.