[chrome:omnibox] Use Custom Elements for each sections of the output.

This results in multiple organizational changes.
1) Filtering logic is engulfed by these elements instead of being grouped in FilterDelegate. FilterDelegate, as a result, only contains static methods that operate on plain strings and are oblivious to the OmniobxOutput hierarchy.
2) As FilterDelegate no longer exists, it seemed unnecessary to maintain the distinction between OmniboxOutput and RenderDelegate; RenderDelegate was merged into OmniboxOutput.
3) Decoupled display input (e.g. showDetails) logic from rendering. First, the HTML elements are created, without regards to display inputs, and then visibility of various sections is updated afterwards. This has the added advantage that toggling display inputs no longer require recreating the HTML elements.

Bug: 891303
Change-Id: I7872e8b4449ce5fbd4a22e230c549ccc0d2764dd
Reviewed-on: https://chromium-review.googlesource.com/c/1357010
Commit-Queue: manuk hovanesian <manukh@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614706}
6 files changed