Fix some jshint warnings

I kept the 'with' blocks because they were elegant, with no chance of confusion or polluting the global namespace.

I ignored the "'excluded' used out of scope" error because if the platform is not Safari then it is Chromium, so 'excluded' will have been defined; I ignored the "'addSubscription' is already defined" error because removing the var keyword causes the error "'addSubscription' is a function."

I ignored "'frameId' is already defined" because it was only defined in an earlier case block within the switch statement; I ignored "'i' is already defined" because removing the var keyword results in an "out of scope" error.

15 warnings
18	Don't use 'with'.
25	Don't use 'with'.
125	Missing semicolon.
144	'excluded' used out of scope.
163	Use '===' to compare with '0'.
163	Use '===' to compare with '0'.
196	'addSubscription' is already defined.
270	['shouldShowBlockElementMenu'] is better written in dot notation.
270	['shouldShowBlockElementMenu'] is better written in dot notation.
329	Bad line breaking before '&&'.
331	'notification' is already defined.
387	'frameId' is already defined.
402	Use '===' to compare with 'null'.
421	'i' is already defined.
454	Don't make functions within a loop.