Re-factor the runtime class.

Add RuntimeUIStrategy for creating and showing the runtime window by provided params. This will separate the UI related implementations into the new strategy object.
!runtimes_.empty()