Fix Android Detection to not return an Array for 'os'

Fixes Android detection to not return an Array, and have a fallback if detection fails (eg, if not in the form 'Android 1.2.3').

This means you can do string operations on `os`.

For example, `window.ui.os.indexOf("Android", 0) == 0` works now to determine if the OS is Android after detection takes place.