Fix Terminal Preferences, Resolution

The terminal app was using the preferences framework incorrectly: it was
trying to keep its own authoritative copies of the preferences, instead
of relying in the preference framework to store the preferences. This
lead to some race conditions, and made terminal's preferences not work
correctly in Donut or Eclair.

Terminal now uses preferences in a more straightforward way.

As long as I was editing terminal, I made two additional changes:

Term now honors the display density. This makes the text more readable on
high-density devices.

An I put in some error checks for empty shell and first-command strings.

Fixes bug 2177356	Term program on Sholes: preferences doesn't work
2 files changed