Anne Hathaway and Dakota Johnson vie for Josh Hartnett and the moral high ground in this batty melodrama.