add core-icon* and port examples

This also adds extra config info to the code generator, and refactors it to allow more stuff if we need it. The new option allows it to omit an import from the generated code.

A few TODOs here:
* .jsElement.callMethod pattern appears in a few places. I'm going to look at fixing methods generally.
* we might want to add HTML import redirects for the HTML files in packages/core_elements/src/core-icons/iconsets/, but I'm not 100% sure yet.

R= @sigmundch @justinfagnani 

I think this type annotation might be wrong. In core-iconset.html the field is initialized to `0`, and it appears to be used as a number throughout.