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.
this is better be done outside Runtime, for instance inside Application::OnRuntimeAdded