Support both direct observatory connection and via Chrome dev tools.

This abstracts out a Connection class with VmConnection and DevToolsConnection implementations for interfacing with the VM Observatory.