Fix use of undefined DOM node when focusing text field with no underline
Add interface for storing app settings

As a precursor to adding a UI for managing app settings, add
an interface to access them within the app logic.
Make details view fields list scrollable

The fields list is now contained within another element
to enable the animated transition between view/edit modes.

Make the outer container fill the available content and
scrollable.

Also disable the outline around the whole details view when
it has focus.
Fix menu items being very tall

The recent update to ts-style to make its handling
of numeric style properties consistent with React's
changed the interpretation of the lineHeight property
from px to a multiple of the font size, making line
items very tall.

Specify the line height of menu items in px.