Fixed socket management issue

If a client connected to a server, then quickly exited the activity
before the socketConnect async task completed, it would cause leave
the socket open indefinitely (which affected the proxy server
negatively).
Added a failsafe in socketConnect completion step to check if the
activity is finishing; if so, it disconnects and shuts down,
otherwise it continues as normal.

Change-Id: I5820a18c54da168663e5cb7cc8897bd39ffa095c
Use all available means to hide the local nav bar

Take advantage of the newer APIs in JB and KK for hiding the nav bar.
In particular, it will use the new "Immersive" mode added in kitkat
(details: https://developer.android.com/training/system-ui/immersive.htmlo)
if possible. Does not yet scale the video to cover the whole screen even if
using the kitkat mode.

Change-Id: I6ebf0a1ae29dad5c69abec1cad31fec9d4625af8
Improve touch responsiveness by setting TCP NO DELAY

Disabling Nagle's algorithm on the TCP socket helps improve the touch
screen input responsiveness on cellular links. The buffering could get
excessive at times without this causing significant lags and skips in
input that degraded the user experience.

Change-Id: I894859a3f0e9d5319cd90dba5598d051ed19835f