The button flashed briefly when loading the page. This was even more
obvious when using devices with slow internet connections.
Using CSS instead of JavaScript to hide the menu solves the issue, since
styles are loaded before scripts.
We were using the same code for the button in both the public and admin
headers, so we're removing the duplication.
Since the menu and the button must go together, and the contents of the
menu are different for different layouts, we're passing these contents
using a block.
Note the ID of the menu was `responsive-menu` in the public section but
`responsive_menu` in the admin section. Since we usually use underscores
for IDs and dashes for classes, we're keeping the one with the
underscore.