feat(ecma-plugins): extract custom emotion transform (#4662)
### Description
First step for WEB-940.
Context: https://vercel.slack.com/archives/C03EWR7LGEN/p1681789689115509
Currently all of the ecma transforms are explicitly listed under
EcmaInputTransform in turbopack-ecmascript. This makes enum verbose, we
have to manually expand it each time adding new transform, as well as
turbopack-ecmascript gets larger to contain all of the 3rd party
transforms by default.
PR extracts non-core transforms into a new crate, named as
ecmascript-plugins then utilize EcmaInputTransform::Custom to invoke
transforms instead. `EcmaInputTransform::Custom` is renamed to
`EcmaInputTransform::Plugin` as well. Goal is extracting all of 3rd
party / non-core transforms. This also reduces multiple steps to
construct option value between caller (next-*) to actual transform
(swcOptions).
https://github.com/vercel/next.js/pull/48671 have corresponding next.js
changes.