You have to hand it to James McAvoy, who has made a career out of his amiable, boyish good looks; in Filth, he destroys that image. As Detective Sergeant Bruce Robertson, he’s a booze-bloated, greasy ...