I'm biased because I work on Polymer, but I'd say.... No framework - use custom elements.
Frameworks tie you into their silo, which is different and isolated from all the others. This is a terrible situation for developers (and ultimately users as dev effort is wasted duplicating things for each framework).
Custom elements are a way to define your own HTML tags. These work like other elements: they have attributes, events, child nodes and properties. They can be placed on a simple static web page, or wired together into complex apps. Elements are (mostly) naturally interoperable with other elements and even the plethora of frameworks.
Where Polymer fits in is that it's a library that help you write custom elements with support for templates, marshaling attributes, data-binding, etc. as well as some polyfills for web component standards.
It's very useful, IMO, but the real beauty is that Polymer elements don't leak to the outside that they're made with Polymer - they're just elements. If you use another custom element framework you can still use Polymer-made elements.
* The big caveat is this thing called Shadow DOM which is hard to polyfill. Polymer uses a near-polyfill called Shady DOM that can be important to use in some situations. It's still possible to interop with other frameworks with some configuration though.