Bug 897199 - Camera should not request geolocation if no SD card was det...

...ected

This is a big patch. I used this bug as an opportunity to tidy the rest of `camera.js`, which is now an interface around the `mozCamera` API. It is now a lot more decoupled from the app, simply spitting out image and video blobs, giving the user the opportunity the store them where they wish.