Upgrade Monaco editor and remove CopyWebpackPlugin

Monaco editor finally has ESM support with v0.11.0! This means we can shed our kludgy, ~"technical debt"-ridden CopyWebpackPlugin solution which did not support content hashing, polluted the global scope, included its own requirejs implementation, and needed to be wired up manually.

This should allow us to simplify the webpack config and prevent caching issues with future versions.

We need to:

We should also:

  • Consolidate our service worker configuration.
    Right now we use a combination of file-loader, worker-loader, and custom library configuration to make this work, but we should standardize on one practice for service workers going forward

/cc @timzallmann