The normal scopes are backed by HTTP artifacts so there is a dep, yes. You can implement your own scopes/contexts.
Apps without deps to implementations (i.e only imports CDI stuff) is portable between all implementations that pass the TCK (in a perfect world).
SE isn't defined in the current version of the spec, it's an extension
so javax.inject. (which handles DI) is portable the same as Guice is.
If I need the Context in DI (javax.enterprise.context.), then I can write own Scopes, which depends to the environment (for example, HTTP).