Some of you may have noticed that Motorola has published the new camera as new app but when you open it, you'll get "Device not Supported" message. This zip (which basically is the one you can find at the first post without the camera apk) will make it working.
Why making another zip then? Simply in this way you don't have to download the camera app twice.
This procedure should work on every device but on non-moto ones (or in those custom roms where is not possible installing the old camera from the Play Store), you have to wait for the Play Store refreshing your device permissions (this may take hours or days). If you do a wipe data, you will be able to install the new camera immediatly instead.
Just another thing about the disabled storage selection. They probably use old/proprietary APIs for storage location, I can't do much about this. This may be a good workaround though.
EDIT: I forgot to say that on CyanogenMod, starting from 03/06/2016 nightly (on osprey and surnia), you can use the new camera without flashing anything else. Just install the new app from the Play Store.
Yes, unzip the apk, go to res/values/raw folder and open app_features.json and add your device codename to the following line:
Zip everything again, sign the apk and it is ready for the installation.
PS: To enable professional mode without editing the apk you have to add to your build.prop the ro.product.device property, not ro.product.name.