feat(compiler): add benchmarks

- compileEmptyTemplate
- compile25ElementsNoBindings
- compile25ElementsWithBindings

For the results see the PR.
I thought cache should be passed into `Compiler` during construction.  Can you set it to a null implementation there? In this case you won't have to make `compileWithCache` public.