Chunking Refactor Step 1 (#6104)
### Description
This is the first step of refactoring the chunking. In the end we want
to avoid creating chunks from modules directly, but enforce everything
going through the ChunkingContext to be chunked. This allows us to
replace the existing chunking algorithm with a much more efficient one
that avoid duplication between chunks in first place and doesn't require
a post-chunking optimization.
This change moves a few methods around.
* `Module::as_chunk` is moved to `ChunkItem::as_chunk` as temporary
intermediate state.
* `EcmascriptPlaceable::as_chunk_item` is moved to
`ChunkableModule::as_chunk_item`. This generalizes the concept of
converting a Module into a ChunkItem
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
Closes WEB-1714
---------
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>