Fixed bug in detection of "natural" orientation of Android device.

My setup: landscape game running on a 480*854 device having portrait "natural" orientation.
Device is lying on a flat surface, I launch the game. `OrientationListener.GetDeviceDefaultOrientation()` is called from `Activity.OnCreate()`, it returns `Landscape` "natural" orientation, which is wrong.
I grab device in my hand and rotate it. The screen flips when phone orientation is portrait or reverse portrait.

This pull request contains fixes:
- Value of "natural" orientation is computed on first `OnOrientationChanged()` call (not in ctor, because it may return invalid value if called too early).
- Orientation listener is active between `Activity.OnResume()`/`OnPause()` calls.
- Orientation value of `OrientationUnknown` (-1) is ignored.