Add support for chrome.downloads API

https://developer.chrome.com/extensions/downloads
Primitive types, such as string, number and boolean, are non-null be default so the ! is no needed.