Started to refactor JS code, and use Shadow DOM.

Styling is a bit messed up now, and some interactivity probably doesn't
work.
Implemented use of <dialog> element.

This branch now requires the CEF trunk (anything based on Chromium 37+).
Fixed plugin list item link error.
Improved <dialog> usage.

The Shadow DOM was interfering with the ability to close the host
<dialog>, so I removed its usage.

Also removed the messageDialog and pluginSection templates as they're
unnecessary now, and moved the Bash Tag stringify code.
Forgot to commit moved Tag string code.
Missed a few <message-dialog> issues.
<message-dialog> cleanup.
Some plugin CSS-related changes

* Fixed and tidied up filters for versions and CRCs.
* Moved plugin card CSS into template.
* Fixed zero CRCs being displayed.
* Moved versions and CRCs inline with plugin names.
More <message-dialog> fixes.
Moved editor controls into pluginCard template.

Re-enabled the flip transform, it seems to work without issues now.

Styling needs re-implementing.
Refactored plugin card menu code.

Also made some classes IDs, because encapsulation.
Added display of plugin Bash Tags and messages.
Refactored editable table code.
Fixed shadow DOM traversal issues.

Also fixed edit mode sidebar hover.
Fixed hiding editor panels, and tidied up other JS.
Bug fixes.

* Fixed card flip transition causing editor controls to be inaccessible.
* Moved plugin menu out of the plugin card, to solve issues with z-index
overlaps with other cards.
* Custom elements now have all their event handlers removed as
appropriate.
Missed part of the plugin menu positioning fix.
Don't need to give the menus IDs anymore.
Plugin editor tables are now populated.
Improved hover text handling slightly.

However, the latest CEF trunk (as of 16th July) seems to have a bug with
mouse events only firing on button click. I can't test on this branch
though, because it uses the <dialog> element, which is new in Chromium
37.