Hi Johan,
HTML imports are automatically de-duplicated based on URL. So if 20 components load Polymer this way:
<link rel="import" href="../../components/polymer/polymer.html>
And assuming all the imports resolve to the same URL, say:
Then the polymer.html file is only loaded once and polymer.js is only executed once. That's why we typically have an import for polymer.html at the beginning of each custom element file.
(It's also why we use a flat dependency structure, so anything in /components/ can reference another component using ../component-name/... this ensures that both core-menu and paper-button use the same path for polymer.html, for example.)
Script tags don't de-dup, which is why the we recommend loading the webcomponents polyfill from your main page before importing any custom elements.
If you load polymer.js using a script tag, you generally won't be able to use other people's custom elements out of the box.
Hope this helps,
Arthur