Rationale
It is possible some chains may extend the block headers (or otherwise wrap the block), and the precompiles may need access to these extensions.
We should find a way to pass through these extensions, keeping in mind the generality of libevm.
Implementation
Hacky implementation (not ideal because it includes non-general assumptions in libevm): https://github.com/ava-labs/go-ethereum/pull/11/files#diff-64508d317d86e7a4a5294d76455a5e74148e26883da9e8b4ffc9bbfa3cc8550eR83