Mel Gibson's only previous Shakespearan experience was playing Juliet in an all male production of "Romeo and Juliet" in Australia. By contrast, Alan Bates (who played Claudius) had played Hamlet in London in 1970 and Paul Scofield (who played the Ghost) had played the part in 1948 and 1955 and is considered one of the greatest twentieth century interpreters of the role.
The play uses the words "honest" and "honesty" many times, because the drama carries the themes of both honorableness and truthfulness/deceit. When Hamlet asks Ophelia if she is honest, that word, in Shakespeare's time, first meant honorable and secondly meant truthful. He was asking if she was good. When he asks her if she is fair, he doesn't ask whether she considers herself impartial and principled, but whether she considers herself beautiful. Of course, Hamlet puns all the time, so the audience should anticipate all possible meanings of his words.
About Hamlet's famous "To be or not to be" monologue, many critics have complained for decades about the line: "Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous fortune, or to take arms against a sea of troubles, and, by opposing, end them?" The complaint is that Hamlet is mixing metaphors: Fortune (Fate) does not actually shoot arrows at people, and you can't use your swords against the sea. The assumption seems to be that Shakespeare was too tired, or too lazy, to fit metaphorical causes with metaphorical effects. Shakespeare (and therefore Hamlet) were too smart to be that sloppy in their speech. Hamlet is complaining that these forces (fate and the ocean) are precisely too abstract, too formless, too monstrous, and too inhuman for a human to use weapons against - arrows against a vague idea such as Fortune, or swords and knives against an ocean. You can't fight on those levels. Hamlet was grieving, but he was never stupid.