Refactored the no camera hardware mode.

- implemented a better method to show the image library if there is no camera available (showing only once per picker invocation and without any delays)
- the UI can now stay visible if there is no camera available (camera-related buttons are hidden, no need to dismiss the picker if we don't select an image in the image library)