Work around bug 1098470 by detecting manifest.* with getFeature (bug 1097424)

https://bugzilla.mozilla.org/show_bug.cgi?id=1097424

In Firefox OS 2.0 and 2.1 (possibly 2.2 if [the platform bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1098470) isn't fixed soon), `hasFeature(manifest.*)` fails, but `getFeature(manifest.*)` works. We can't just switch to use `getFeature()` because that will *not* work when the platform bug is fixed, so we use `hasFeature()` normally but then fall back on `getFeature()` when it returns a falsy value, only for those specific features.
What does `hasFeature` return here in the happy case and the sad case? I'm wondering if it matters if we discern between `false` and `undefined`?