Fix switching between normal and alternate screen

xterm's documented behavior for ESC [ ? 1049 h is "Save cursor as in
DECSC and use Alternate Screen Buffer, clearing it first."  Similarly,
ESC [ ? 1049 l is documented to clear the screen and do DECRC as well as
swapping to the normal buffer (which screen should be cleared is
unclear from the text, but behavior suggests that it should be the
alternate screen).  As of now, though, we treat these escape sequences
as simple toggles between the normal and alternate screens.

Implement clearing the alternate screen when switching into it, and
saving and restoring of the cursor; as we don't provide a method to
switch to the alternate screen without clearing it first, it's
unnecessary to clear the alternate screen when leaving it.  (The xterm
documentation suggests that ESC [ ? 47 h (and possibly ESC [ ? 1047 h as
well) should enter the alternate screen without clearing it, but GNU
screen -- the terminal we claim to be by default -- doesn't appear to
implement this distinction between those sequences.)
Revert "Remove READ_LOGS permission by popular demand."

Useful feature with no significant security implications.  Android users
are a strange species sometimes ...

This reverts commit 4c7f988dbded2fc02272dcd4e5495793e059e10b.
Use a darker color for bright black

Personal preference ...
Check directly for required system permissions instead of creating custom permission
Don't send PATH broadcasts if PATH extensions are disabled

Waiting for the PATH broadcasts to complete can add significantly to
startup time, particularly on Android 4.4+ devices when the device is
busy or just booting up.  If PATH extensions are disabled, we ignore the
results of the broadcasts completely, so we may as well just skip them
in the first place.
Use natural order on Strings for sorting PATH broadcast results

PATH broadcast results are sorted by package name (possibly modified by
a prepended number), so a locale-sensitive sort is unnecessary.
Fix composing text drawing for wide characters
Redraw if special key pressed
Change fancy cursor shape
Read font from sdcard
Add line space
Add East Asian ambigous support

Conflicts:
	libraries/emulatorview/src/jackpal/androidterm/emulatorview/UnicodeTranscript.java
Refactor vimAmbiwidth
Add intent
Add a Back key behavior (toggle softkeyboard)
Add actionbar key mapping
Add minus button action
Add ? Icon
Add minus icon
Add IME shortcuts