responsive library

Responsive layout ranging from three panels to one. This requires more complex
logic in the panelContainer widget which handles showing/hiding that is
dependent on app state as well as window size. At device sizes that show two
panels, panelContainer decides whether to show the items list or item details.
At single panel sizes it decides which of all panels to show.
Also:
- remove last of the mobile special casing that was in active code paths
- add small device friendly items list that displays the same item fields but
does so with only a checkbox column and an info column
- fix error when coloredTags preference is null
remove tiny pub/sub library