Fix odd size and visible rect issues in CanvasCaptureHandler

This CL addresses odd size frame problems found by fuzz tests.

BUG=606185
TEST=Minimized fuzz test case now passes. Also added unit tests.

Review URL: https://codereview.chromium.org/1918073003

Cr-Commit-Position: refs/heads/master@{#389899}
(cherry picked from commit e0dd9f840b3a21cd12bd3d83f5ca63302549dd21)

NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/1962993002
Cr-Commit-Position: refs/branch-heads/2704@{#476}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}
2 files changed