Cameron speaks out on “faith” and moral issues