josh hartnett as ennis del mar in brokeback mountain