Fix dispatching/reload errors on the charm details popout for inspector.

* Refactor dispatching to handle hashes for the charm details.
* Set up tabs dispatching.
* Setup re-rendering logic for charm details.
I think this should also be `|| !this.views.charmDetails.get('destroyed')`