DevTools: [JsDoc] Use strict nullability everywhere

This patch has required certain semantic changes to make sure function
arguments are non-null where applicable.

generate_protocol_externs.py has been modified to generate non-null
records for protocol types.

R=vsevik@chromium.org, aandrey, eustas@chromium.org, loislo, vsevik, yurys
BUG=324831

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163434 bbb929c8-8fbe-4397-9dbb-9b2b20218538