Enforce hiding the navigation bar in immersive mode

The new immersive mode in Android 4.4 is quite buggy. Even when the sticky
flag is set, the navigation bar is shown again after certain events (e.g.
when the window focus changes, the volume panel or keyboard is shown, ...)

This is not a problem of App Settings, many apps have to work around this.
The workaround in this commit ensures that the SYSTEM_UI_FLAG_HIDE_NAVIGATION
flag is always set, just before the app's SystemUI visibility is updated.

The navigation bar still pops up for a fraction of a second when opening
popup dialogs. Not sure if that can be resolved later, but it's acceptable
for now.

Fixes #24.