Extensible DOM elements based on web components