Preserve GUI state across page loads

This saves the current tab and the open/closed state of each accordion section to localStorage so they remain the same when the page is reloaded.

Along with the single column mobile layout I'm working on, this could be especially helpful to mobile users since iOS often reloads the page when the browser is in the background; keeping the accordions closed (when the user closes them) saves lots of vertical space.