Put [SecureContext] to Cache, ServiceWorker, ServiceWorkerRegistration
Their objects can't be created in non-secure context, but the
interface names themselves are exposed in the global object. Also, as
they don't intend to provide their states and methods in non-secure
contexts, we put the [SecureContext] attribute.
Fixes #941.