Re-implement feature detection using getFeature() (bug 1097424, bug 1097429)

https://bugzilla.mozilla.org/show_bug.cgi?id=1097424
https://bugzilla.mozilla.org/show_bug.cgi?id=1097429

- Since getFeature() is a privileged API, this is only used in Firefox OS, and only from the iframed app.
- For now, only a very limited subset of features are detected, the rest are always set to true.

This needs tests, but I'm running out of time for today so submitting the PR to get feedback. The iframed app is untested anyway (and difficult to test) so there is not much missing.
The only thing it exposes are `Promises` though, and I need `Promise.all` to wait on them all.